首页 > 解决方案 > Django - 每个 CHOICES 字段都有计数的模型

问题描述

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 字段一样。我列表中的项目可能会(缓慢地)改变,但我不想每次发生时都必须在模型中创建一个字段。

标签: djangodjango-modelsdjango-model-field

解决方案


在您的情况下,我认为将count房屋存储在模型中是不明智的。如果你想得到计数,那么只需使用count()这样做:

House.objects.filter(house_type=1).count()

推荐阅读