Рассматривали ли вы способ разделения всех словарей выбора, которые вы собираетесь использовать в своем приложении, внутри другого файла, такого как choices.py
?
В любом случае, создание определенного вида, подобного этому, с открытым действием GET ожидание хорошего query_parameter
плюс список доступных вариантов options
здесь будет лучшим выбором.
ONLYME = 'ME'
FRIENDS = 'FR'
PUBLIC = 'PU'
POST_PRIVACY_CHOICES = (
(ONLYME, 'Onlyme'),
(FRIENDS, 'Friends'),
(PUBLIC, 'Public'),
)
class ChoiceView(GenericAPIView):
available_dicts = {
"POST_PRIVACY_CHOICES": POST_PRIVACY_CHOICES,
}
def get(self, request):
option = request.GET.get("option", None)
if option is not None and option in self.available_dicts:
result_list = []
chosen_dict = available_dicts[option]
for i in chosen_dict:
key, value = i
tmp = {"key": key, "value": value}
result_list.append(tmp)
return Response(result_list, status=status.HTTP_200_OK)
else:
return Response({"Error": "Empty or invalid option given"}, status=status.HTTP_400_BAD_REQUEST)
Каждый раз, когда вы хотите получить список вариантов, это будет проще и быстрее!