Sobes.tech
Junior — Middle
103

Koja je ključna razlika između standardnog obrasca i obrasca zasnovanog na modelu u Django?

Компаније где су питане
LuckyGroup

Одговор од АИ

sobes.tech АИ

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

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

Пример:

from django import forms
from myapp.models import Product

# Стандартная форма
class ContactForm(forms.Form):
    name = forms.CharField(max_length=100)
    message = forms.CharField(widget=forms.Textarea)

# Форма на основе модели
class ProductForm(forms.ModelForm):
    class Meta:
        model = Product
        fields = ['name', 'price', 'description']

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