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.

Вернуться на верх