Django模型具有可变数量的字段

apa*_*des 3 django models emailfield

我正在开发一个新项目,我想创建一个django模型,EmailField根据另一个变量,它将具有可变数量的s.我正在尝试创建的是一个House模型,其中包含所有房屋成员(更具体地说,他们的电子邮件地址).看到并非所有房屋都是相同的大小,有些会比其他房屋有更多的成员.

我希望用户输入他们家中的成员数量,并让django EmailField在模型上创建相应数量的s.有没有简单的方法来实现这一目标?谢谢.

Ben*_*Ben 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')
Run Code Online (Sandbox Code Playgroud)

现在,您可以使用以下方式访问与房屋相关的所有电子邮件:

house = House.objects.get(pk=1)
house.email_addresses.all()
Run Code Online (Sandbox Code Playgroud)

ForeignKey 文件可能是有用的.