Django的 - 与查询集
问题描述:
工作我的模型目前是这样的:Django的 - 与查询集
class Dealer(models.Model):
name = models.CharField(unique=True, max_length=255, default='')
url = models.URLField()
def __str__(self):
return self.name
class Category(models.Model):
name = models.CharField(unique=True, max_length=255, default='')
def __str__(self):
return self.name
class Car(models.Model):
name = models.CharField(unique=False, max_length=255,default='')
category = models.ForeignKey(Category, on_delete=models.CASCADE)
def __str__(self):
return self.name
class Price(models.Model):
car = models.ForeignKey(Car, default='')
dealer = models.ForeignKey(Dealer, default='')
price = models.DecimalField(max_digits=9, decimal_places=2)
url = models.URLField(max_length=255)
def __str__(self):
return str(self.price)
我希望能够做的是回答以下问题(的东西,最终都将成为我的观点的情况下)什么: 展我列出了不同经销商提供的特定类别的汽车及其价格。我使用的测试查询是这样的:
carprice = Price.objects.filter(car__category='1').values('car__name','price','dealer__name').order_by('car__name')
生成的查询集看起来是这样的:
<QuerySet [{'car__name': 'Audi Model A', 'price': Decimal('32000.00'), 'dealer__name': 'Dealer A'}, {'car__name': 'Audi Model A', 'price': Decimal('35000.00'), 'dealer__name': 'Dealer B'}, {'car__name': 'Audi Model A', 'price': Decimal('35000.00'), 'dealer__name': 'Dealer C'}, '...(remaining elements truncated)...']>
问题1:可以查询修改,以便在查询集不重复car__name每次,而是由car__name组合价格和经销商?如果有人能指点我一个关于QuerySets的好教程/文档,我会非常感激。我试过看Django的文档,并不能真正找到这个问题的答案。
- Audi Model A
- Dealer A 32000.00
- Dealer B 35000.00
- Dealer C 35000.00
问2:使用当前的查询,如何分组可以在视图功能完成实现上述的样子?
答
对于任何人访问此页寻找一个答案,这里是我能想出的最好的:
问题1:根据我的Django的文件资料的审查,我不得不与其他的Django开发者的互动 ,答案是(可能)不是。
问题2: 答案是:regroup template tag。 Reference
谁能帮助我在这里? –