【发布时间】:2017-01-12 11:16:08
【问题描述】:
我是 Djnago Rest Framework 3 的新手,无法理解如何实现这一点:
我有以下型号:
class Interface(models.Model):
name = models.CharField(max_length=25)
current_location = models.CharField(max_length=25, blank=True)
在请求参数中,我期望纬度、经度字段将从纬度、经度生成 geohash 并存储在 current_location 中。
我尝试使用以下序列化程序和 ViewSet,但它给出了错误
“接口”对象没有“纬度”属性。
class InterfaceSerializer(serializers.ModelSerializer):
latitude = serializers.FloatField()
longitude = serializers.FloatField()
class Meta:
model = Interface
fields = ('id', 'name', 'latitude', 'longitude',)
read_only_fields = ('id',)
class InterfaceViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows interface to be viewed or edited.
"""
queryset = Interface.objects.all()
serializer_class = InterfaceSerializer
即使使用 serializers.Serializer 而不是 serializers.ModelSerializer 也会出现同样的错误。
这里有什么问题?
如何为给定的模型和需求构建序列化器?
【问题讨论】:
标签: django django-rest-framework