如果我们在调用distinct()之后将调用链接到filter(),则在distinct之前将过滤器应用于查询.应用distinct 后如何过滤查询结果?
Example.objects.order_by('a','foreignkey__b').distinct('a').filter(foreignkey__b='something')
由filter()生成的SQL中的where子句表示过滤器在distinct之前应用于查询.我想过滤不同的查询集.
这可能很简单,但我无法弄明白,我找不到任何东西.
编辑1:
我需要在ORM中做到这一点......
SELECT z.column1, z.column2, z.column3
FROM (
SELECT DISTINCT ON (b.column1, b.column2) b.column1, b.column2, c.column3
FROM table1 a
INNER JOIN table2 b ON ( a.id = b.id )
INNER JOIN table3 c ON ( b.id = c.id)
ORDER BY b.column1 ASC, b.column2 ASC, c.column4 DESC
) z
WHERE z.column3 = 'Something';
(顺便说一句,我正在使用Postgres.)所以我想我要问的是"你如何在ORM中嵌套子查询?这可能吗?" 我会查看文档.
对不起,如果我之前没有具体.我脑子里还不清楚.
我将 show_change_link = True 添加到 Django 1.8 中的内联项中,但链接未添加到内联项中。应用程序中的每个模型都在管理员中注册。我错过了什么吗?我在文档中只能找到关于此功能的一句话。
编辑:
class TheInline(admin.TabularInline):
model = TheModel
readonly_fields = ['timestamp']
extra = 0
show_change_link = True
Run Code Online (Sandbox Code Playgroud)
我没有使用像 grappelli 这样的任何自定义管理员,并且应用程序中的所有模型都在管理员中注册。