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

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

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

  1. Form – универсальный класс для создания форм, где поля определяются вручную. Подходит для произвольных данных, не связанных с моделями.
  2. ModelForm – автоматически генерирует поля формы на основе модели, упрощая работу с ORM. Валидация и сохранение данных привязаны к модели.

Пример Form:

python
from django import forms

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

Пример ModelForm:

python
from django import forms
from .models import Article

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

Когда использовать:

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

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

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

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