Django QuerySet from一对多和from多对一



在一个项目中工作,在那里我遇到了QuerySets的一个小问题。(请查看底部的模型结构简图。)我尝试从Collection-Model开始查询BLOG-Model的一些信息。现在最好先查询entry - model,然后以某种方式找到Collection,然后再找到Blog-Model,最后将信息添加到Collection中?或者是否有更好/更快的方法直接从父模型获取信息?通常情况下,如果你只有1:n->1:n关系,这很容易,因为你可以很容易地遵循外键,但这让我困惑。

这里是我的模型结构的简短概述:

<--------------- QUERY DIRECTION ----------------
(BLOG) --(1:N)--> (ENTRIE) <--(N:1)-- (COLLECTION)

BR,菲利克斯

django的关系是双向的,所以如果你需要从集合模型中查询博客模型,你可以直接从你的图表中查询你的博客模型:

class Blog:
entrie = models.ForeignKey(Entrie, on_delete=CASCADE)
class Entrie:
pass
class Collection:
entrie = models.ForeignKey(Entrie, on_delete=CASCADE)

所以你的查询可以是这样的,如果你没有指定任何related_name属性在你的模型关系字段

Blog.objects.filter(entrie__collection={your_data})

相关内容

  • 没有找到相关文章