支持django-rest框架的django-candv选择。
django-rf-candv-choices的Python项目详细描述
将django-candv-choices与django-rest-framework一起使用。
目录
用法
序列化选项
例如,您有一些模型使用 candv_x.django.choices.ChoiceField存储一个允许的值。这个 可能是一个User模型,它有user_role字段,其中 user_role由USER_ROLES常量容器定义。
将candv_x.rest_framework.choices.ChoiceField用于user_role 序列化:
fromrest_frameworkimportserializersfromcandv_x.rest_framework.choicesimportChoiceFieldfrom.constantsimportUSER_ROLESfrom.modelsimportUserclassUserSerializer(serializers.ModelSerializer):user_role=ChoiceField(USER_ROLES)classMeta:model=Userfields=('id','name','user_role',)
向外部世界展示选择
如果需要公开字段的可能选项列表,则可以 使用ChoicesListbase视图获得基于类的视图:
fromcandv_x.rest_framework.choicesimportChoicesListfrom.constantsimportUSER_ROLESclassUserRoleList(ChoicesList):choices=USER_ROLES
您只需要定义choices属性。
还有一种更快的方法:可以使用coalitions_listview工厂 获取基于函数的视图:
fromcandv_x.rest_framework.choicesimportsimple_choices_listfrom.constantsimportUSER_ROLESuser_role_list=simple_choices_list(USER_ROLES)