0

私はかなりの数のBooleanFieldsを必要とするモデルを持っています、それらは何らかの方法で好みと見なされる可能性があります。私が現在行っているのは、モデル自体にすべてのフィールドを追加し、ラベルをHTMLにハードコーディングすることです。したがって、私のモデルは次のようになります。

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

これは非常に馬鹿げた方法だと感じており、よりPythonicなソリューションを探しています。多分多対多のフィールド?何か案は?

4

3 に答える 3

1

phone1それらがすべて同じタイプである場合は、 M2Mphone2にするのがおそらく理にかなっていphone3ます。phonesPhone

ただし、これらはブール値であるため、そうではないかと思います。モデルに多くのフィールドがあっても問題はありません。実際、それらが互いに関係がない場合、それらを抽象化するのは間違っています。

于 2012-06-28T15:08:24.910 に答える
1

ブール型フィールドに意味のある名前を付けて、フィールドの説明に verbose_name を付けたいと思います。

class Project(models.Model):
    # ...
    featured = models.BooleanField(_("Featured"))
    published = models.BooleanField(_("Published"))
    # ...
于 2012-06-28T15:19:39.287 に答える
0

pythonの禅を見てみましょう:

特に:

  • シンプルは複雑よりも優れています。
  • 複雑は複雑よりも優れています。
  • フラットはネストよりも優れています。
于 2012-06-28T15:06:02.340 に答える