如何访问OneToOneFiled Django ORM模型的数据

时间:2018-12-27 12:17:11

标签: django django-models django-forms django-templates django-views

我正在使用用户内置模型。现在,我在UserListView中查询以排除所有超级用户,其中角色存储在Roles Model中。我不知道如何查询queryset = User.objects.exclude(user_user_role_id=1),这是个问题,请帮助我查询

class UserListView(LoginRequiredMixin, generic.ListView):
    model = User
    template_name = 'users/users.html'
    context_object_name = 'users'
    queryset = User.objects.exclude(user_user_role_id=1)


UserProfile Model
class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    user_company = models.ForeignKey(Company, on_delete=models.CASCADE)
    user_role = models.ForeignKey(Roles, on_delete=models.CASCADE)

class Roles(models.Model):
    role_title = models.CharField(max_length=30)
    role_description = models.CharField(max_length=100)

1 个答案:

答案 0 :(得分:0)

是的,我找到了。只需使用双下划线

queryset = User.objects.exclude(userprofile__user_role_id=1)

OR

queryset = User.objects.exclude(userprofile__user_role__role_title='Super Admin')