对于 Django 项目,我需要将两个部件列表合二为一。
模型.py:
class UserBuild(models.Model):
project = models.ForeignKey(Project)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
part = models.ForeignKey(Parts)
part_quantity = models.IntegerField(max_length=5, null=True, blank=True)
suggested_quantity = models.IntegerField(
max_length=5, null=True, blank=True
)
视图.py:
def CombineProjects(request, template_name='combined_projects.html'):
...
build_set = UserBuild.objects.values(
#'pk',
#'project__pk',
'part__number',
'part__part_type__name',
'part__price',
'part__description',
'part__category__name'
).filter(
project__in=projects
).order_by('part__category', 'part__part_type').annotate(total=Sum('part_quantity'))
基本上在这里我想对所有相同的部分进行分组并总结它们的数量。如上所述,但如果我取消注释pk
orproject__pk
参数,则不再对这些部分进行分组(我假设因为即使部分相同,它们也是可变的)。
有什么方法可以保持分组但也包括pk
和project__pk
值?