django - Distinct() 不适用于由 union() 产生的查询集
问题描述
我有一个模型:
class Person(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=50)
如果我做:
all_queryset = Person.objects.all()
all_queryset.count() # --> 8
all_queryset.order_by('name').distinct().count() # --> 3
让我们将它与另一个空查询集联合:
empty_queryset = Person.object.none()
all_queryset = all_queryset.union(empty_queryset)
all_queryset.count() # --> 8
现在,distinct()
不再起作用了:
all_queryset.order_by('name').distinct().count() # --> 8 !
它与这个4 岁的错误有关吗?
解决方案
推荐阅读
- unicode - 组合任意 Unicode 符号或负宽度的 Unicode 字符
- java - jooq代码生成mysql远程db maven
- ios - UserDefaults 在同一应用组中具有不同的值
- c - make: *** 没有指定目标,也没有找到 makefile。停止。在 Xcode 上
- c++ - 如何在模板类中使用模板
- ios - 在 Swift 4.2 中为现有的 Objective-C 代码获取运行时错误
- php - 如何使用 Eloquent ORM 创建三向枢轴
- ffmpeg - ffmpeg 找不到合适的输出格式
- javascript - 对象属性和值的相等运算符
- python - 在 Pandas 中计算日期