Добавление групп в класс выбора в Django - PullRequest
0 голосов
/ 05 августа 2020

У меня есть класс выбора, настроенный для поля в одной из моих Django моделей. Мне нужно выяснить, как сгруппировать этот класс, а затем вернуться к имени группы при поиске совпадения из формы. Если это не совсем понятно, я хочу, чтобы пользователи могли искать объект, который является «включающим», и возвращать все объекты с помощью «включающего». Я просмотрел документацию Django, но не нашел примеров, в которых используются группы в классе choices. Синтаксис в приведенном ниже примере перечисления вызвал массу ошибок, поэтому мне кажется, что это не совсем то, что мне нужно.

Пример перечисления из Django документации

MEDIA_CHOICES = [
('Audio', (
        ('vinyl', 'Vinyl'),
        ('cd', 'CD'),
    )
),
('Video', (
        ('vhs', 'VHS Tape'),
        ('dvd', 'DVD'),
    )
),
('unknown', 'Unknown'),

]

Вот образец данных. Это вроде как работает, но удобочитаемое имя (это должна быть группа) несколько раз отображается в админке (один раз для значения 1, один раз для значения 2), и у меня возникают проблемы с получением «инклюзивного» в форма, чтобы вытащить все включающие варианты, а не только один.

class CcugprofChoice(models.IntegerChoices):
    Two_year__higher_part_time  =   1   , 'Inclusive'
    Two_year__mixed_part_full_time  =   2   , 'Inclusive'
    Four_year__full_time__selective__lower_transfer_in  =   12  , 'Selective'
    Four_year__full_time__selective__higher_transfer_in =   13  , 'Selective'
    Four_year__full_time__more_selective__lower_transfer_in =   14  , 'More Selective'
    Four_year__full_time__more_selective__higher_transfer_in    =   15  , 'More Selective'

И затем я хотел бы иметь возможность запрашивать совпадение, например

qs = Model.objects.filter (field .group = fieldfromform)

Если у кого-то есть идеи, они были бы очень признательны. Заранее спасибо Django гениев!

...