相关疑难解决方法(0)

如何在Django REST Framework中更改字段名称

我试图在DRF Serializer中更改模型字段名称,如SQL中的别名.我尝试过不同的方法,但不能成功.

models.py

class Park(models.Model):
    name = models.CharField(max_length=256)
    alternate_name = models.CharField(max_length=256, blank=True)
    objects = models.GeoManager()

    class Meta:
        db_table = u'p_park'

    def __unicode__(self):
        return '%s' % self.name

    def alias_alternate_name(self):
        return self.alternate_name
Run Code Online (Sandbox Code Playgroud)

serializers.py

class ParkSerializer(serializers.ModelSerializer):

    location = serializers.Field(source='alias_alternate_name')
    #location = serializers.SerializerMethodField(source='alias_alternate_name')

    #alternate_name as location


    class Meta:
        model = Park
        fields = ('id', 'name', 'location')
Run Code Online (Sandbox Code Playgroud)

我也尝试在Django Queryset中添加别名但无法更改.

更新

这是我面临的例外

/ ViewName /'module'对象的AttributeError没有属性'Field'

我怎样才能做到这一点?

谢谢

django django-rest-framework

78
推荐指数
3
解决办法
4万
查看次数

标签 统计

django ×1

django-rest-framework ×1