所以我有一个应用需要以不同的形式存储大量地址。我建立了一个地址模型(街道,城市,邮编,州等)。因此,不必在每个需要和解决的模型中重复这些,我只需添加一个FK - >地址。
我还从地址模型中创建了一个ModelForm。
无论如何都要做这样的事情?
class ContactForm(forms.Form):
name = forms.CharField()
phone = forms.CharField()
address = [Fields from my Address ModelForm]
我不能使用formset,因为我在一个特定模块的类(all-auth)中这样做。我所能做的就是声明表单字段并定义“注册”功能。 All-Auth正在做其余的事情。
class SignupForm(forms.Form):
first_name = forms.CharField(max_length=30, label='Voornaam')
last_name = forms.CharField(max_length=30, label='Achternaam')
[Need to declare my address form here]
def signup(self, request, user):
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
user.save()
答案 0 :(得分:0)
Django是Python,因此您可以从另一个表单中获得一个表单inherit
。像这样:
class AddressForm(forms.Form):
class Meta:
model = Address
fields = ['street', 'city', 'zip']
class ContactForm(AddressForm):
# inherits fields from Addressform
name = forms.CharField()