在OnetoOne模型中按字段筛选Queryset

时间:2015-01-23 02:23:31

标签: python django

我有第三方应用程序的模型,我不能(真的不想)修改,所以我用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()

1 个答案:

答案 0 :(得分:2)

queryset = Model.objects.order_by('modelextended__author').distinct('modelextended__author')