Тесно связанный с этим вопросом, я просто хочу, чтобы раскрывающееся меню отображалось в API страница класса. Прямо сейчас мне нужно ввести значение, которое я хочу исправить, вручную, что может привести к ошибкам:
модель:
class Store(models.Model):
name = models.CharField("name", max_length = 128)
user = models.OneToOneField(User, on_delete = models.CASCADE, )
openclose = models.PositiveIntegerField("Store open?", default = 1, choices = [(0,0), (1,1)])
Посмотреть:
class OCViewset(viewsets.ModelViewSet):
serializer_class = StoreSerializer
http_method_names = ['get', 'patch', 'head']
def list(self, request):
store = Store.objects.get(user = request.user)
return Response(data = store)
def patch(self, request):
store = Store.objects.get(user = request.user)
openclose = request.data.get('openclose')
if openclose == 0:
store.openclose = 0
else:
store.openclose = 1
store.save()
return Response(data = store.openclose)
сериализатор:
class StoreSerializer(serializers.ModelSerializer):
# test = serializers.ChoiceField(source='store.openclose', choices=[1, 0])
class Meta:
model = Store
fields = ["openclose",]
прямо сейчас мой API показывает:
то, что я хотел бы, это что-то вроде: