仅在将用户添加到 ManyToManyFIeld 的位置过滤查询集

Posted

技术标签:

【中文标题】仅在将用户添加到 ManyToManyFIeld 的位置过滤查询集【英文标题】:Filter queryset only where the user is added to ManyToManyFIeld 【发布时间】:2022-01-23 21:33:21 【问题描述】:

我想返回包含当前用户的所有潜在客户。怎么做?

模型.py

class CustomUser(AbstractUser):

    def __str__(self):
        return self.email


class Lead(models.Model):
    budget = models.IntegerField()
    buyer = models.ManyToManyField(CustomUser)

预期的查询集是什么

Lead.objects.filter(buyer__have=request.user)

【问题讨论】:

【参考方案1】:

您可以使用以下方式过滤:

Lead.objects.filter(<strong>buyer=request.user</strong>)

这将创建一个INNER JOIN,并仅返回Lead 对象,其中request.user 是(其中一个buyers。

【讨论】:

以上是关于仅在将用户添加到 ManyToManyFIeld 的位置过滤查询集的主要内容,如果未能解决你的问题,请参考以下文章

仅在将鼠标悬停在圆圈上时才沿文本路径为 SVG 文本设置动画

Django:ManyToManyField,如果对象不存在则添加它

knockoutjs 验证,立即验证

如何在将照片上传到 Firebase 存储时将日期或时间等用户图像详细信息添加到文件名?

Django:如何将数据保存到ManyToManyField?

如何在 Django Admin 中访问 ManyToManyField 的两个方向?