Django - 如何筛选查询中的重复项?

时间:2011-09-20 16:41:07

标签: python django orm

我在Django中有一个查询,它产生了唯一的行,但有些行包含各种字段中的公共值。我想用常用值合并这些行。 例:     假设每行返回 id,库,书名,作者,发布日期。     我只想知道书名,作者和出版日期。另外,我想知道 1和只有一个库可以找到它。如何使用Django?

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

Books.objects.all().only('title', 'author', 'date').extra(where=['library IS NOT NULL']).distinct()

答案 1 :(得分:0)

您的数据模型可能不完整。听起来你正试图找到一个藏有特定书籍的图书馆。如果有许多图书馆拥有这本书,你需要一些区分标准,以便让数据库将图书馆列表过滤到一个且只有一个。否则,如果确实不关心,请考虑使用limit方法。

myquery.limit(1)