我有一个需要相当多布尔字体的模型,它们可以在某种程度上被视为偏好。我目前正在做的是将所有字段添加到模型本身并将标签硬编码到HTML。所以我的模型看起来有点像这样:
class Project(models.Model):
...some fields...
Check1=models.BooleanField()
....many of these...
Check19=models.BooleanField()
我觉得这是一种非常愚蠢的方式,我正在寻找更多的Pythonic解决方案。也许ManyToMany领域?有什么想法吗?
答案 0 :(得分:1)
如果它们都是相同的类型,那么将其作为M2M可能是有意义的,例如phone1
,phone2
,phone3
等更适合phones
指向Phone
模型。
然而,由于这些是布尔,我怀疑是这样的。在模型上有很多字段不是问题,如果它们都有意义的话。实际上,当它们彼此没有关系时,将它们抽象出去是错误的。
答案 1 :(得分:1)
我宁愿给布尔字段一些有意义的名称,并将verbose_name放到字段描述中,例如。
class Project(models.Model):
# ...
featured = models.BooleanField(_("Featured"))
published = models.BooleanField(_("Published"))
# ...
答案 2 :(得分:0)