![](/img/trans.png)
[英]UnicodeDecodeError with Django Rest Framework on Model's __str__ field
[英]Django rest framework, use none in model's field
我有一个 Django rest 框架 API,在其中一个模型中,有一个 GeoLocation 的高程字段,它的值默认为 None。
原因是它可以由用户传入,或者如果留空,则通过调用谷歌的海拔 API 获得。
所以,我试图在序列化程序中使用 create 函数来定义它的值,但我遇到了一个关键错误:
#app/models.py
elevation = models.FloatField(name="Elevation",
max_length=255,
help_text="If known, Add location's sea level height. If not, Leave Empty.",
null=False,
default=None)
#app/serializers.py
from rest_framework.serializers import HyperlinkedModelSerializer
from Project_Level.utils import get_elevation
from .models import KnownLocation
class KnownLocationSerializer(HyperlinkedModelSerializer):
def create(self, validated_data):
if validated_data["Elevation"] is None: # Using if not validated_data["Elevation"] results the same.
validated_data["Elevation"] = get_elevation(validated_data["Latitude"], validated_data["Longitude"])
class Meta:
model = KnownLocation
fields = ('id', 'Name', 'Area', 'Latitude', 'Longitude', 'Elevation')
错误:
KeyError at /knownlocations/
'Elevation'
Exception Location: KnownLocation/serializers.py in create, line 9
海拔 = 模型.FloatField ...
fields = ('id', 'Name', 'Area', 'Latitude', 'Longitude', 'Elevation')
字段名称区分大小写,elevation != Elevation。 尝试仅使用小写字母。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.