Как 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/