与 django 不同的无效

Posted

技术标签:

【中文标题】与 django 不同的无效【英文标题】:Invalid distinct with django 【发布时间】:2017-10-05 15:56:06 【问题描述】:

我尝试在我的 Django 项目中获取汽车列表,但我遇到了 ORM 问题

class Car(models.Model):
    name = models.CharField(max_length=200)
    owner = models.ForeignKey(User)

使用 Car.objects.all() 我有一个列表:

- car#1, user#1
- car#1, user#2
- car#1, user#3
- car#2, user#4
- car#3, user#4

我想要的是:

- car#1
- car#2
- car#3

那么,无论车主是谁,所有汽车的名称都是不同的

我尝试过类似的东西

Cars.objects.all().annotate(Count('owner', distinct=True))

但我仍然拥有所有汽车。有人可以帮我解决这个问题吗?文档建议进行注释和聚合,但仍然很难理解。

【问题讨论】:

【参考方案1】:

试试这个

 Cars.objects.values('name').distinct()

【讨论】:

以上是关于与 django 不同的无效的主要内容,如果未能解决你的问题,请参考以下文章

Python/Django:如何在无效登录时显示错误消息?

Django无效的块标签:'静态'

Django:无效的块标签'form.username'

无效的凭据引发身份验证突变异常

Django - 表单无效时输入数据的先前页面

要获取无效的凭证,甚至凭证都以Django登录格式在数据库中注册?