Model.py
class InventoryData (models.Model):
AssetID = models.CharField('Asset ID', max_length=30, unique=True)
SerialNumber = models.CharField('Serial Number', max_length=30, unique=True)
Make = models.CharField(max_length=30, blank=True, null=True)
Model = models.CharField(max_length=30, blank=True, null=True)
class Meta:
verbose_name = 'Inventory Data'
verbose_name_plural = 'Inventory Data'
def __str__(self):
return self.AssetID
Views.py
def home (запрос):
obj = InventoryData
# ----- For Models ----- #
stnd = obj.objects.filter(AssetID__startswith='ASPL-LAPT').order_by('Model').values_list('Model',
flat=True).distinct()
dev = obj.objects.filter(AssetID__startswith='ASPLB-DEV').order_by('Model').values_list('Model',
flat=True).distinct()
mac = obj.objects.filter(Make__startswith='Apple').order_by('Model').values_list('Model',
flat=True).distinct()
desk = obj.objects.filter(AssetID__startswith='ASPLB-DSK').order_by('Model').values_list('Model',
flat=True).distinct()
# ----- For Counts ----- #
cnt = obj.objects.filter(Model__in=mac).distinct().count()
context = {'stnd': stnd, 'dev': dev, 'mac': mac, 'desk': desk, 'cnt': cnt, }
return render(request, 'App/home.html', context)
это вывод, который я получаю:
в моей БД у меня есть Make as Apple, Lenovo и Model as 4 модели [ MacBook Pro 13.0 ", MacBook Pro 15.0" , T440, T450, T540p ], каждая модель имеет 10 ноутбуков, но когда я считаю, я получаю общее количество как 20 для Ма c Книга и считать как 30 для ноутбуков Lenovo мне нужно считать для каждой модели
MacBook Pro 13,0 "- 10 MacBook Pro 15,0" - 10 T440 - 10 T450 - 10 T540p - 10
с ниже запроса я получаю таблицу ниже,
cnt = obj.objects.filter (Model__in = ma c). count ()
Пожалуйста, помогите мне, как написать запрос для таблицы 2
Table1
Table2