limit_choices_to с логикой A или B - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть модель с именем MyUser с полем user_type, которое может быть следующих типов:

USER_TYPE_STUDENT

USER_TYPE_TEACHER

USER_TYPE_DIRECTOR

В одной из моделей у меня есть следующее поле

student = models.ForeignKey(MyUser, null=True, related_name='requests',
                            limit_choices_to={'user_type': MyUser.USER_TYPE_STUDENT}, ...)

Как вы можете прочитать, он использует

limit_choices_to={'user_type': MyUser.USER_TYPE_STUDENT}

Вещи, в В поле OneToOneField (student_or_teachers), я хотел бы объявить, что поле ограничено user_type USER_TYPE_STUDENT или USER_TYPE_TEACHER.

Как это можно сделать?

1 Ответ

1 голос
/ 20 апреля 2020

Использование поиска __in:

limit_choices_to = {
    "user_type__in": (MyUser.USER_TYPE_STUDENT, MyUser.USER_TYPE_TEACHER)
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...