【问题标题】:How to select related with existing object in Django?如何在Django中选择与现有对象相关的?
【发布时间】:2020-05-05 21:21:48
【问题描述】:

我有现有的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】:

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

    我猜你的文章模型带有用户 FK 或类似的东西。 在该用户属性中,您应该放置一个相关名称,例如 (users_articles)

    考虑到这一点:

    articles = user.users_articles
    

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

    for article in articles:
        user = article.user
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 2013-02-16
      • 2016-11-13
      • 2016-05-24
      相关资源
      最近更新 更多