Сохраните тип данных JSONField из celery

model.py:

from django.db import models
from datetime import datetime 
from django.db.models import TextField, JSONField, Model
# Create your models here.
class reservation(models.Model):
    res=models.JSONField()
    da = models.DateTimeField(default=datetime.now, blank=True)

tasks.py:

@shared_task
def ress():
content={
           "customer": 48,
               "reservation_id_pms": str(id),
               "reservation_channel_number": None,
               "reservation_group_id_pms": "ed2b9d55-46d9-4471-a1e9-ad6c00e30661",
               "extra_reservation_code": "550ca1c1",
               }
       reservations=reservation.objects.create(res=content)
       reservations.save()
       res.append(content)
   return None

error:

from django.db.models import TextField, JSONField, Model ImportError: cannot import name 'JSONField' from 'django.db.models' (/usr/lib/python3/dist-packages/django/db/models/init.py)

Возможно, вы используете более низкие версии Django (< 1.9), когда JSONField еще не был представлен. Поэтому попробуйте обновить версию.

Если это не так, то попробуйте установить библиотеку simplejson, так как иногда библиотека может не поставляться с самим Django.

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