【问题标题】:Django ORM query by related nameDjango ORM 按相关名称查询
【发布时间】:2021-01-24 05:59:13
【问题描述】:

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

这是我的销售模式

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>
)

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

谁能帮我解决这个问题?

【问题讨论】:

  • 您好,您的客户是您的用户模型吗?也许您的查询应该是 Sell.objects.filter(entry_for_id=customer_id) 之类的,或者我误解了什么
  • 什么是customer_id?在上面的代码中只定义了seller_id
  • 对不起,客户ID是卖家ID。
  • 我已经更正了,我要查询用户,而不是所有销售模型的条目

标签: django django-orm


【解决方案1】:

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

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    • 2015-03-07
    • 2023-04-11
    • 2020-12-03
    相关资源
    最近更新 更多