【发布时间】:2015-11-11 10:03:06
【问题描述】:
我有这个模型:
class Floor(models.Model):
label = models.CharField(null=False, blank=False, max_length=100)
class Area(models.Model):
label = models.CharField(null=False, blank=True, max_length=100)
floor = models.ForeignKey(Floor)
class Room(models.Model):
label = models.CharField(null=False, blank=True, max_length=100)
area = models.ForeignKey(Area)
有时,如果房间没有设置到地板的特定区域,也可以。
那么,我正在考虑两种选择。
选项 1:我保留此数据结构,并在未指定区域时创建“label=default”区域。
选项2:我改成这个模型:
class Floor(models.Model):
label = models.CharField(null=False, blank=False, max_length=100)
class Area(models.Model):
label = models.CharField(null=False, blank=True, max_length=100)
floor = models.ForeignKey(Floor)
class Room(models.Model):
label = models.CharField(null=False, blank=True, max_length=100)
area = models.ForeignKey(Area, null=True)
floor = models.ForeignKey(Floor)
这两个选项看起来都不错,但你的赞成/反对意见是什么?
【问题讨论】:
-
你能不能强制每个房间都必须有地板?我不知道曾经建造过没有一楼/一楼的建筑物
标签: django database-design django-models