Использование нескольких Django форм в одном представлении, которые зависят от OnetoOneField / ForeignKey - PullRequest
1 голос
/ 24 марта 2020

У меня есть две модели: -

class User(AbstractUser):
    is_customer = models.BooleanField('customer status',default=False)
    is_manager = models.BooleanField('manager status',default=False)

    def __str__(self):
        return self.username

class Customer(models.Model):
    user = models.OneToOneField(User,on_delete=models.PROTECT,primary_key=True,related_name="customers")
    full_name = models.CharField(max_length=264,)
    roll_no = models.IntegerField()
    mobile_no = models.IntegerField()
    hostel = models.CharField(max_length=264)
    room_no = models.CharField(max_length=264,)         

Здесь пользовательский объект Заказчика зависит от модели пользователя.

forms.py: -

class UserCreateForm(UserCreationForm):
    class Meta:
        fields =('username','email','password1','password2')
        model = User

    def __str__(self,*args,**kwargs):
        super().__init__(*args,**kwargs)
        self.fields["username"].label ="Display name"
        self.fields["email"].label = "Email address"


class CustomerForm(forms.ModelForm):
    class Meta:
        model = Customer
        fields = ['full_name','roll_no','hostel']

Что Я хочу, чтобы взять данные Клиента вместе с данными пользователя. Итак, как я могу использовать эти две модели в одном представлении (предпочтительными будут представления на основе классов) и создать одну форму в файле Html? Пожалуйста, объясните код для views.py и для соответствующего Html файла.

...