首页 > 解决方案 > 是否可以为 Django 休息框架中提交的模型选择创建一个端点

问题描述

嗨,我在 Django 中有一个这样的模型

class MyModel(models.Model):
    CATEGORY = [
        (1, 'Governments'),
        (2, 'Non Governments'),
        (3, 'Private Sector'),
    ]
    category = models.IntegerField(choices=CATEGORY, default=1 )

为了避免每次添加类别时都必须更改项目的后端和前端,我希望有一个端点返回值 JSON 并使用 Django Rest 框架仅显示这些类别?

result: [
  {
   value:1,
   display:"Goverment"
  },
  {
   value:1,
   display:"Non Gorverment"
  },
  {
   value:1,
   display:"Private Sector"
  }
 ]

这是我尝试过的序列化程序,但我注意到我可能没有以正确的方式做事。

class CategorySerializer(serializers.ModelSerializer):
    label = serializers.CharField(source='get_category_display')
    value = serializers.SerializerMethodField('get_value_number')
    def get_value_number(self, obj):
        return obj.category
    class Meta:
        models = myModel
        fields = ('value', 'label')

标签: pythondjangodjango-rest-frameworkrest

解决方案


推荐阅读