Django首选项/布尔字段

时间:2012-06-28 14:55:59

标签: django django-models

我有一个需要相当多布尔字体的模型,它们可以在某种程度上被视为偏好。我目前正在做的是将所有字段添加到模型本身并将标签硬编码到HTML。所以我的模型看起来有点像这样:

 class Project(models.Model):
  ...some fields...
  Check1=models.BooleanField()
  ....many of these...
  Check19=models.BooleanField()

我觉得这是一种非常愚蠢的方式,我正在寻找更多的Pythonic解决方案。也许ManyToMany领域?有什么想法吗?

3 个答案:

答案 0 :(得分:1)

如果它们都是相同的类型,那么将其作为M2M可能是有意义的,例如phone1phone2phone3等更适合phones指向Phone模型。

然而,由于这些是布尔,我怀疑是这样的。在模型上有很多字段不是问题,如果它们都有意义的话。实际上,当它们彼此没有关系时,将它们抽象出去是错误的

答案 1 :(得分:1)

我宁愿给布尔字段一些有意义的名称,并将verbose_name放到字段描述中,例如。

class Project(models.Model):
    # ...
    featured = models.BooleanField(_("Featured"))
    published = models.BooleanField(_("Published"))
    # ...

答案 2 :(得分:0)

查看zen of python

特别是:

  • 简单比复杂更好。
  • 复杂比复杂更好。
  • Flat比嵌套好。