使用 Django restframework 的真/假选择下拉

问题描述

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 显示

current API endpoint

我想要的是:

desired API endpoint lookalike

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...