Как получить все варианты поля выбора при использовании django restframework во внешнем интерфейсе

#django #django-models #django-rest-framework #django-forms #django-views

#django #django-модели #django-rest-framework #django-forms #django-просмотры

Вопрос:

Я использую django restframework на серверной части для создания API. У меня есть модель ‘Post’, которая хранит текст, а также имеет поле ‘privacy_settings’. При создании нового объекта ‘post’ во внешнем интерфейсе, если одно из значений является полем выбора, то как мы можем получить все варианты для этого поля из серверной части, чтобы пользователь мог выбирать и настраивать?

 ONLYME = 'ME'
FRIENDS = 'FR'
PUBLIC = 'PU'
POST_PRIVACY_CHOICES = (
(ONLYME, 'Onlyme'),
(FRIENDS, 'Friends'),
(PUBLIC, 'Public'),
)
privacy_setting = models.CharField(
max_length = 2,
choices = POST_PRIVACY_CHOICES,
default = ONLYME
)
  

Комментарии:

1. А как насчет возвращения POST_PRIVACY_CHOICES ?

2. Нужно ли мне тогда создавать совершенно отдельное представление, чтобы просто получить эти варианты? Неужели нет другого способа обойти это?

3. Я не уверен, какой интерфейс вы используете. Кроме того, вы можете отправлять данные в DRF методом HTTP POST, чтобы вы могли получить варианты, используя HTTP GET в той же конечной точке

4. Вы можете использовать декоратор @action в существующем наборе представлений, чтобы вернуть варианты