Django Serialize a JsonField, Django Rest API
У меня есть класс для примера
from django.forms import JSONField
class Area(models.model):
GeoJson = JSONField
...
и сериализатор для класса
class AreaSerializer(serializers.ModelSerializer):
model = Areas
fields = ('GeoJson',
... )
но когда я пытаюсь получить данные из моей работы с рамкой отдыха, я получаю эту ошибку
Object of type 'JSONField' is not JSON serializable
Что я делаю не так? Это мой первый опыт использования django и мне нужно хранить GeoJson в базе данных, так что я действительно застрял на том, как решить эту проблему, поскольку я не понимаю, почему это не работает, Любая помощь или совет будут очень признательны.
Вы используете поле формы в вашей модели, а не поле формы Django JSONField model поле [Django-doc]. Это должно быть:
# models 🖟
from django.db.models import JSONField
class Area(models.model):
geojson = JSONField()
You however might be interested to work with a spatial field type [Django-doc], and take a look at django-geojson [GitHub] for GeoJSON functionality.