Django:如何过滤属于特定组的用户

Django:如何过滤属于特定组的用户,第1张

Django:如何过滤属于特定组的用户

您将要使用Django的约定来跨关系连接以连接到查询集中的组表。

首先,我建议给您的关系a

related_name
。这使得代码比Django默认生成的代码更具可读性。

class Group(models.Model):    myuser = models.ForeignKey(User, related_name='groups')

如果只需要一个组,则可以通过以下任一方法加入该关系并比较名称字段:

form.fields['myuser'].queryset = User.objects.filter(    groups__name='foo')form.fields['myuser'].queryset = User.objects.filter(    groups__name__in=['foo'])

如果要限定多个组,请使用以下

in
子句:

form.fields['myuser'].queryset = User.objects.filter(    groups__name__in=['foo', 'bar'])

如果要快速查看生成的SQL,可以执行以下 *** 作:

qs = User.objects.filter(groups__name='foo')print qs.query


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5646037.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存