0
说我有以下型号:Django的数据库设计 - 原为
class Person(models.Model):
street_address = models.CharField(max_length=50, blank=True)
suburb = models.CharField(max_length=30)
postcode = models.IntegerField()
state = models.CharField(max_length=3)
email = models.EmailField()
mobile_phone_number = models.IntegerField(max_length=12)
home_phone_number = models.IntegerField(max_length=10, null=True, blank=True)
work_phone_number = models.IntegerField(max_length=8, null=True, blank=True)
spouse = models.ForeignKey('self', null=True, blank=True)
children = models.ManyToManyField('self', null=True, blank=True)
一些上述领域的意图是可选的(例如STREET_ADDRESS,home_phone_number和work_phone_number,以及配偶/子女)。
在Django中,对于CharField字段,可以设置“空白=真”,如果用户离开表单字段为空,Django存储一个空字符串。没关系。
但是,对于像home_phone_number和work_phone_number这样的整数字段,这不起作用 - 我不得不使用“null = True”来处理未在这些详细信息中提交的人的情况。有没有更好的方法,明智的模型/数据库设计来处理这个问题,而不是NULL?
最后,可选外键像配偶/子女(一个人可以不结婚,或者没有孩子),你应该如何处理这些?
干杯, 维克多
亚当五:感谢您的快速反应=)。是的,在阅读更多内容之后,你说得对,电话号码应该是字符串,它不喜欢我会对它们进行数学运算。 – victorhooi 2010-11-30 05:02:12