我需要在模型“Mymodel”中获取字段“title”的重复条目,其中count大于2.这样我就可以从Mymodel中删除所有重复项。
我正在尝试执行如下的查询,但它抛出异常“AttributeError:'bool'对象没有属性'lookup'”
movies = Mymodel.objects.values('title')\
.annotate(title_count=Count('title'), distint=True)\
.filter(title_count__gt=2)
等效原始sql查询
SELECT count(title) as num_title, title from app_mymodel group by title having count(title) > 2;
我在这里找到了类似的问题,Filtering on the count with the Django ORM但它对我不起作用。
任何帮助都会很棒。
答案 0 :(得分:6)
尝试不使用distinct
的类似查询,因为我认为您无法将其传递给annotate
。
movies = Mymodel.objects.values('title')\
.annotate(title_count=Count('title'))\
.filter(title_count__gt=2)
答案 1 :(得分:-4)
抛出异常AttributeError,因为 Count 函数具有 distinct 参数,但 distint 。