我有两节课:
class Translation(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
object = generic.GenericForeignKey('content_type', 'object_id')
field = models.CharField(max_length=64) #field from the translated model
language = models.CharField(max_length=8, choices=settings.LANGUAGES, verbose_name=_("language"))
text = models.TextField() #translation
class Category(models.Model):
translations = generic.GenericRelation(Translation)
name = models.CharField(max_length=128, verbose_name=_("Name"))
slug = models.SlugField(blank=True, default="", verbose_name=_("Slug"))
有没有办法通过按当前语言过滤 order_by 的 translation__text 来排序类别?如果我使用
Category.objects.all().order_by("translations__text")
我得到按所有翻译排序的类别,而不仅仅是当前语言。我想,我需要以某种方式过滤 order_by 集(仅使用给定语言的翻译)?有没有办法这样做?
数据库 = PostgreSQL
感谢帮助!