带有值列表的Django变量

2024-06-08 22:19:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有更好的方法来实现这一点:我有一个包含多个字段的模型。每个字段都需要有多个具有相应值的日期范围。例如,我可能有一个类“Person”,它有一个布尔变量“Hungry”,从上午9点到中午12点为真,从中午12点到下午2点为假,然后从下午2点到5点又为真。我的日期范围未涵盖的任何时间都将是默认值。你知道吗

实现这一点的一种方法是将Hungry转换成一个具有值、开始时间和结束时间的单独类。然后人就会和饥饿有一种多对多的关系。有没有更好的方法来实现这一点,即不为每个变量创建一个表,但仍然允许轻松查找?你知道吗


Tags: 方法模型关系时间person饥饿hungry
1条回答
网友
1楼 · 发布于 2024-06-08 22:19:48

我建议使用外键,而不是多对多关系。你知道吗

Class Person(models.Model):
    #...

Class Hungry(models.Model):
    person = models.ForeignKeyField(Person)
    start = models. DateTimeField()
    end = models. DateTimeField()
    hungry = models. BooleanField()

我想您可以用CharField替换Hungry上的person字段,以便将其压缩到一个表中,但这是糟糕的DB设计。应该是两张分开的桌子。你知道吗

相关问题 更多 >