django 2.1,python 3.6
比方说,我有一套东西['house_1','house_2',...],我想要一个模型,其中包含每个项目的计数。我以为它看起来像下面的样子。
class Card(models.Model):
house_1_count = models.IntegerField(...
house_2_count = models.IntegerField(...
house_3_count = models.IntegerField(...
有没有一种方法可以转换此模型,以便对项目进行硬编码。就像使用CHOICES字段一样。列表中的项目可能会(缓慢)更改,但是我不想每次发生时都在模型中创建一个字段。
答案 0 :(得分:0)
在您的情况下,我认为将count
房屋存储在模型中并不明智。如果您想获得计数,只需使用 count() :
House.objects.filter(house_type=1).count()
答案 1 :(得分:0)
您可以在模型中创建选择字段,而不是存储每个计数。
更新您的card
模型:
class Card(models.Model):
house = models.IntegerField(choices=list(zip(range(1, 4), range(1, 4))), max_length=1)
要计算房屋类型特殊的卡,请使用count()
:
Card.objects.filter(house=1).count()