是否将django.rest\u framework.serializers.ModelSerializer扩展到模型属性字段?
我使用这个序列化程序查询并返回一些json对象是否将django.rest\u framework.serializers.ModelSerializer扩展到模型属性字段?,django,django-rest-framework,Django,Django Rest Framework,我使用这个序列化程序查询并返回一些json对象 class MyModelPathSerializer(serializers.ModelSerializer): class Meta(): model = MyModel fields = ('setup', 'path') depth=1 我对返回模型的属性而不是字段很感兴趣 class MyModel(models.Model): setup = models.ForeignKey(Setup, on_
class MyModelPathSerializer(serializers.ModelSerializer):
class Meta():
model = MyModel
fields = ('setup', 'path')
depth=1
我对返回模型的属性而不是字段很感兴趣
class MyModel(models.Model):
setup = models.ForeignKey(Setup, on_delete=models.CASCADE)
@property
def path(self):
return '/some/path/'
是否有方法修改序列化程序类以便也返回属性?您可以使用
SerializerMethodField
返回模型实例的属性。这是一个只读字段
class MyModelPathSerializer(serializers.ModelSerializer):
path = serializers.SerializerMethodField()
class Meta:
model = MyModel
fields = ("setup", "path")
depth = 1
def get_path(self, model_instance):
return model_instance.path
类MyModelPathSerializer(serializers.ModelSerializer):
path=serializers.SerializerMethodField()
类元:
model=MyModel
字段=(“设置”、“路径”)
深度=1
def get_路径(自身、模型_实例):
返回模型\实例路径