Django 序列化一个 JsonField,Django Rest API
Django Serialize a JsonField, Django Rest API
例如我有一个class
from django.forms import JSONField
class Area(models.model):
GeoJson = JSONField
...
和 class
的序列化器
class AreaSerializer(serializers.ModelSerializer):
model = Areas
fields = ('GeoJson',
... )
但是当我尝试从我的休息框架工作中获取数据时,我得到了这个错误
Object of type 'JSONField' is not JSON serializable
我做错了什么?这是我第一次使用 django,我需要将 GeoJson 存储在数据库中,所以我真的很困惑如何解决这个问题,因为我不明白为什么它不起作用,非常感谢任何帮助或建议。
您在模型中使用了表单字段,而不是 Django 的 JSONField
model field [Django-doc]。应该是:
# models 🖟
from django.db<strong>.models</strong> import JSONField
class Area(models.model):
geojson = JSONField<strong>()</strong>
不过,您可能有兴趣使用 spatial field type [Django-doc], and take a look at django-geojson
[GitHub] 来实现 GeoJSON 功能。
例如我有一个class
from django.forms import JSONField
class Area(models.model):
GeoJson = JSONField
...
和 class
的序列化器class AreaSerializer(serializers.ModelSerializer):
model = Areas
fields = ('GeoJson',
... )
但是当我尝试从我的休息框架工作中获取数据时,我得到了这个错误
Object of type 'JSONField' is not JSON serializable
我做错了什么?这是我第一次使用 django,我需要将 GeoJson 存储在数据库中,所以我真的很困惑如何解决这个问题,因为我不明白为什么它不起作用,非常感谢任何帮助或建议。
您在模型中使用了表单字段,而不是 Django 的 JSONField
model field [Django-doc]。应该是:
# models 🖟
from django.db<strong>.models</strong> import JSONField
class Area(models.model):
geojson = JSONField<strong>()</strong>
不过,您可能有兴趣使用 spatial field type [Django-doc], and take a look at django-geojson
[GitHub] 来实现 GeoJSON 功能。