Django ORM values()和select_related()引发TypeError

时间:2019-01-14 10:07:43

标签: python django orm

在我的django项目中,我必须像这样进行ORM查询:

ordered = t_threads.objects.values('thread_stag').filter(thread_status='DEAD',id_test__test_main__descr__contains= 'Hello').distinct().select_related().order_by('id')[1:10]

我需要对值“ thread_stag”的结果进行分组,以针对状态和测试描述进行过滤,具有来自相关表的所有值,但是当我执行上述查询系统返回时:

  

提高TypeError(“无法在.values()或.values_lis之后调用select_related()   t()“)

如果我删除“ select_related()”选项,则我没有相关表中的值。 如何在django ORM中取得结果?

非常感谢

1 个答案:

答案 0 :(得分:0)

只需将values移到末尾,如下所示:

ordered = t_threads.objects \ 
           .filter(thread_status='DEAD',id_test__test_main__descr__contains= 'Hello') \
           .distinct() \ 
           .select_related() \ 
           .values('thread_stag') \ 
           .order_by('id')[1:10]

请注意,您还必须为select_related指定一个字段列表!