Sobes.tech
Junior — Middle
115

Quelle est la différence entre un formulaire normal et un ModelForm dans Django?

Entreprises à qui on a demandé
Оптимакрос
Диджитал сектор

Réponse de l'IA

sobes.tech IA

В Django обычная форма (forms.Form) используется для создания форм с произвольными полями, которые не обязательно связаны с моделями базы данных. Она подходит, когда нужно собрать данные, не связанные напрямую с моделями.

ModelForm (forms.ModelForm) — это форма, которая автоматически генерируется на основе модели Django. Она упрощает создание и валидацию форм, связанных с моделями, автоматически создавая поля, соответствующие полям модели, и позволяя легко сохранять данные в базу.

Пример:

from django import forms
from myapp.models import Book

class BookForm(forms.Form):
    title = forms.CharField(max_length=100)
    author = forms.CharField(max_length=100)

class BookModelForm(forms.ModelForm):
    class Meta:
        model = Book
        fields = ['title', 'author']

Таким образом, ModelForm экономит время и уменьшает количество кода при работе с моделями.