4

我正在开发一个新项目,我想创建一个 django 模型,该模型的EmailFields 数量取决于另一个变量。我正在尝试创建的是一个 House 模型,其中包含房子的所有成员(更具体地说,他们的电子邮件地址)。由于并非所有房屋的大小都相同,因此有些房屋的成员会比其他房屋多。

我希望用户输入他们家中的成员数量,并让 djangoEmailField在模型上创建相应数量的 s。有什么简单的方法可以做到这一点吗?谢谢。

4

2 回答 2

13

因为 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 文档可能很有用。

于 2013-08-17T17:33:47.800 回答
2

不。将电子邮件放在一个单独的模型中,并使用 ForeignKey 将它们链接回 House。

于 2013-08-17T17:02:35.877 回答