简单概述。
我有一个模型,它具有另一个模型的外键,其中该模型具有外键等等。
如何扩展表单,使其处于单一视图中?
目前,当我使用CreateView时,它会将外键字段显示为下拉列表。我想用可以填写的实际表格替换下拉列表。
我将举例说明模型:
class Address(models.Model):
address_0 = models.CharField("address", max_length=64)
address_1 = models.CharField("address cont'd", max_length=64, blank=True)
city = models.CharField("city", max_length=64, blank=True)
state = USStateField() # this is selection field # django_localflavor_us.models
zip_code = USZipCodeField() # django_localflavor_us.models
class ContactInfo(models.Model):
name = models.CharField(max_length=50)
address = models.ForeignKey(Address, null=True, blank=True)
phone = models.CharField(max_length=50, blank=True)
fax = models.CharField(max_length=50, blank=True)
email = models.EmailField(blank=True)
class Generator(models.Model):
contact = models.ForeignKey(ContactInfo, related_name='contact')
mailing_address = models.ForeignKey(
Address, null=True, blank=True, related_name='mailing_address')
code = models.CharField(max_length=50, blank=True)
我希望用户创建一个生成器表单。 我得到的页面是一堆下拉字段,代码是唯一可填写的字段。
我希望能够在创建新的生成器表单时填写所有内容。
如何将所有模型的表单注入GeneratorForm
我将如何验证表格并确保它们分别与模型一起妥善保存。
处理未知数量的外键有什么好办法?也许模型中有更多的外键。
当有多个外键时,内联形成外键字段
(几乎只是想将网络扩展到所有模型并将它们移到最基本的字段,以便它们可以在根模型中进行编辑)
我尝试使用inlineformsets但是我不确定如何处理需要ContactInfo
的{{1}}。
我不确定它是否是inlineformset的嵌套,我不知道如何设置它。