如何为 Django 过滤子对象的父字段

时间:2021-08-01 16:47:53

标签: python django

我想要一个包含基于 Django 组模型名称字段过滤的字段的表单。 例如,我有一个连接到 Django 用户模型的模型,该模型连接到 Django 组模型,如下所示:

class customUser(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.user.first_name

我使用名为“Teacher”的 Django 管理面板在 Django 组中添加了一行数据。 我想要做的是让我的表单只列出在 Django 组模型中列为“老师”的 customUser。

我的表格:

class myForm(ModelForm):

  class Meta:
    model = customUser
    fields = ['user ']

  def __init__(self,*args,**kwargs):
        super (myForm,self ).__init__(*args,**kwargs)
        **# What I want to achieve but doesnt work.**
        self.fields['user'].queryset = customUser.objects.filter(user.group.name = "Teacher") 

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试:

customUser.objects.filter(user__groups__name='Teacher')

查看有关 Lookup reference 的文档