问题描述
与this question密切相关,我只想在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 显示:
我想要的是:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)