我想爲django的用戶模型的擴展做一個註冊表單。它有兩個關係,一個到User
和Address
。該表格需要具有User
,UserDetails
和Address
的所有字段。但我正在努力爭取正確的觀點和形式。只需將ModelForm
與UserDetails
結合使用FormView
不會將User
和Address
的字段相加。一種形式的Django一對一關係
class User(AbstractBaseUser, PermissionMixin):
email = models.EmailField(unique=True)
class UserDetails(model.Model):
date_of_birth = models.DateField()
user = models.ForeignKey(User, on_delete=models.CASCADE)
address = models.OneToOneField(Address, on_delete=models.CASCADE)
class Address(model.Model):
field = models.CharField(max_length=100)
field2 = models.CharField(max_length=100)
的表單和視圖是這樣的:
class UserRegistrationForm(ModelForm):
class Meta:
model = Orchestra
fields = '__all__'
class UserRegistrationView(FormView):
form_class = UserRegistrationForm
template_name = 'users/register.html'
<form action="" method="post">
{% csrf_token %}
{{ form.as_table }}
<input type="submit" value="submit">
</form>
請張貼您的觀點和表格,並準確解釋您想做什麼,「努力獲得正確的觀點和形式」還不夠。 –
我已添加視圖和表單。這給了我一個用戶的外鍵選擇字段,而不是charfield字段 – user6827