如何在Django中选择与现有对象相关的对象?

问题描述 投票:0回答:1

我有一个现有的 user 多字段的对象,通过 select_relatedprefetch_related:

user = models.User.objects.first().select_related(...).prefetch_related(...)

我需要选择该用户的文章 通过 Article 型号 user.article_set):

articles = models.Article.objects.filter(user=user)

我想 articles 拟将现有的 user 对象,例如(这些例子不起作用)。

articles = models.Article.objects.filter(user=user).select_related(user)

或者

articles = models.Article.objects.filter(user=user).annotate(user=user)

这怎么可能?

python django django-queryset
1个回答
-1
投票

所以我猜你想要这样的东西。

我猜你的Article Model里有一个用户FK或者类似的东西.在那个用户属性里你应该放一个related_name类似于(Users_articles)

考虑到这一点。

articles = user.users_articles

第二部分我不明白,但我猜你想把你的文章和它的用户一起放在一个列表里,所以。

for article in articles:
    user = article.user

希望能帮到你

© www.soinside.com 2019 - 2024. All rights reserved.