在Django中,使用parler时删除QuerySet的重复项
我有一个这样的模型:在Django中,使用parler时删除QuerySet的重复项,django,django-queryset,django-parler,Django,Django Queryset,Django Parler,我有一个这样的模型: from django.db import models from django.utils.translation import ugettext_lazy as _ from parler.models import TranslatableModel, TranslatedFields ... class UnitNode(TranslatableModel): ... translations = TranslatedFields(
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'))
),
)
...
qs = UnitNode.objects.distinct().order_by("translations__slug")
我想要一个没有重复项的UnitNodes查询集,按slug排序。当我询问这样的问题时:
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'))
),
)
...
qs = UnitNode.objects.distinct().order_by("translations__slug")
我有重复的
如何消除重复项?您是否尝试附加
.distinct()
?对这没用(“每个事件可能有多个排序数据;每个具有多个子项的事件都将多次返回到order_by()创建的新查询集中。换句话说,在查询集中使用order_by()可能会返回比您开始工作时更多的项,这可能既不是预期的,也不是有用的。”-从文档中,我有点了解问题,但不了解解决方案。您是否尝试附加.distinct()
?是的。这没有帮助。:(“每个事件可能有多个排序数据;每个具有多个子项的事件将多次返回到新的查询集中,按()创建。换句话说,在QuerySet上使用order_by()可以返回比您开始工作时更多的项目-这可能既不是预期的,也不是有用的。“-从文档中我可以理解问题,但不是解决方案。