我有第三方应用程序的模型,我不能(真的不想)修改,所以我用OnetoOne字段扩展它,如下所示:
class Model(models.Model):
title = models.CharField ....
content = ....
class ModelExtended(models.Model):
gallery = models.OneToOneField(Gallery, related_name='galleryextended')
author = models.Charfield()
所以我想做的是为所有作者创建一个视图。我想要一个每个作者只包含一个对象的查询集。因此,如果有50个Model.objects.all(),但只输入了2个唯一作者,则只返回2个Model对象。
我试过了:
queryset = Model.objects.order_by('author').distinct()
返回: 无法将关键字“作者”解析为字段。选项包括:date_added,description,modelextended,id,is_public,photos,sites,slug,tags,title
queryset=Model.objects.order_by('modelextended.author').distinct()
返回与Model.objects.all()
相同的内容queryset = ModelExtended.objects.order_by('author').distinct()
根本不会返回任何结果。我正在运行Postgresql,因为我读到它只能使用.distinct()
答案 0 :(得分:2)
queryset = Model.objects.order_by('modelextended__author').distinct('modelextended__author')