Встречается на собеседованиях • сегодня

Чем отличается Form от ModelForm

Form и ModelForm в Django оба используются для работы с формами, но есть ключевые различия:

  1. Form – универсальный класс для создания форм, где поля определяются вручную. Подходит для форм, не связанных с моделями.
python
from django import forms

class ContactForm(forms.Form):
name = forms.CharField()
email = forms.EmailField()

text

2. **ModelForm** – автоматически создает поля формы на основе модели Django, упрощая работу с CRUD-операциями.
```python
from django import forms
from .models import Article

class ArticleForm(forms.ModelForm):
    class Meta:
        model = Article
        fields = ['title', 'content']

Основные отличия:

  • ModelForm автоматически генерирует поля из модели, Form требует ручного определения.
  • ModelForm упрощает сохранение данных в БД через form.save().
  • Form более гибкий, если данные не связаны с моделью.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы