【发布时间】:2017-05-22 13:49:17
【问题描述】:
我有一个这样的模型:
from django.db import models
from django.utils.translation import ugettext_lazy as _
from parler.models import TranslatableModel, TranslatedFields
...
class UnitNode(TranslatableModel):
...
translations = TranslatedFields(
title=models.CharField(_(u'title'), max_length=1024),
slug=models.SlugField(_('slug'))
),
)
...
我想要一个不重复的 UnitNodes QuerySet,按 slug 排序。当我查询这样的内容时:
qs = UnitNode.objects.distinct().order_by("translations__slug")
我得到了重复。
如何消除重复?
【问题讨论】:
-
你试过追加
.distinct()吗? See the docs. -
是的。它没有帮助。 :(
-
"每个事件可能有多个排序数据;每个具有多个子级的事件将多次返回到 order_by() 创建的新 QuerySet。换句话说,使用 order_by() QuerySet 可能会返回比您开始工作时更多的项目——这可能既不是预期的也不是有用的。” - 来自
order_by的文档 -
我有点了解问题但不了解解决方案。
标签: django django-queryset django-parler