Как получить доступ к данным моделей OneToOneFiled Django ORM - PullRequest
0 голосов
/ 27 декабря 2018

Я использую встроенную модель пользователя.Теперь я запрос в 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 голосов
/ 27 декабря 2018

Да, я нашел это.Просто нужно использовать двойное подчеркивание

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

ИЛИ

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