Django プロジェクトでは、2 つのパーツ リストを 1 つに結合する必要があります。
models.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
)
views.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
またはproject__pk
引数のコメントを外すと、パーツはグループ化されなくなります (パーツが同じであっても可変であるためだと思います)。
pk
グループ化を維持しながら、およびproject__pk
値も含める方法はありますか?