我正在开发一个新项目,我想创建一个django模型,根据另一个变量,它将具有可变数量的EmailField
s。我正在尝试创建的是一个House模型,其中包含所有房屋成员(更具体地说,他们的电子邮件地址)。看到并非所有房屋都是相同的大小,有些会比其他房屋有更多的成员。
我希望用户输入他们家中的成员数量,并让django在模型上创建相应数量的EmailField
s。有没有简单的方法来实现这一目标?感谢。
答案 0 :(得分:10)
由于Django的模型字段直接链接到数据库中表的字段,因此无法使用可变数量的字段。相反,让另一个表具有外键:
class House(models.Model):
# normal house fields go here
class EmailAddress(models.Model):
email = models.EmailField()
house = models.ForeignKey(House, related_name='email_addresses')
现在,您可以使用以下方式访问与房屋相关的所有电子邮件:
house = House.objects.get(pk=1)
house.email_addresses.all()
ForeignKey
documentation可能有用。
答案 1 :(得分:2)
没有。将电子邮件放在单独的模型中,并使用ForeignKey将它们链接回House。