首页 > 解决方案 > Django ORM 按相关名称查询

问题描述

我正在尝试查询特定卖家/用户的所有客户

这是我的销售模型

class Sell(models.Model):
    entry_for = models.ForeignKey(
        User,
        on_delete=models.CASCADE,
        related_name='sell_entry_for'
    )
    paid_by = models.ForeignKey(
        User,
        on_delete=models.CASCADE,
        related_name='sell_customer',
        null=True,
        blank=True
    )

这是我的查询

user = User.objects.filter(
    sell_entry_for__id=<user id>
)

并返回空,但我有很多用户条目

谁能帮我解决这个问题?

标签: djangodjango-orm

解决方案


我相信你想要这样的东西:

user = User.objects.get(id=user_id_here)

# now you want to get all related Sell objects with that user

sells = user.sell_entry_for.all()

# now you can iterate over sells to get paid_by users

for sell in sells:
    print(sell.paid_by)

推荐阅读