Как forms.ModelForm получает реальную модель в forms.py?

Это мой models.py

class Student(models.Model):
    name = models.CharField(max_length=50)
    email = models.EmailField(max_length=50, blank=True)
    ids = models.CharField(max_length=20)

    def __str__(self):
        return self.ids

class Teacher(models.Model):
    name = models.CharField(max_length=50)
    subject = models.CharField(max_length=50)
    department = models.CharField(max_length=50)

    def __str__(self):
        return self.name

Это мой forms.py

from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
from .models import Student, Teacher

class Rform(UserCreationForm):
    class Meta:
        model = User
        fields = ['first_name', 'last_name', 'username', 'email', 'password1', 'password2']

class Tform(forms.ModelForm):
    class Meta:
        model = Teacher
        fields = '__all__'

class Istudent(forms.ModelForm):
    class Meta:
        model = Student
        fields = '__all__'

В этом forms.py каждый класс наследует forms.ModelForm мы не объявляем имя модели в каждом классе, но каждый класс правильно показывает поле модели в каждой форме как?

Django предоставляет вспомогательный класс, который позволяет вам создать класс Form из модели Django. Вы можете создать форму, используя django.contrib.auth.forms, который предоставляет вам django, и вы можете создать свою форму, используя модель, и если вы используете модель, django предоставляет ModelForm, которые относятся к модели и ее гильдии. Если вы не поняли, что я хочу описать, посмотрите эту ссылку

https://docs.djangoproject.com/en/4.0/topics/forms/modelforms/

Вернуться на верх