Как сохранить объект json, полученный из ajax-запроса, в PostgreSQL в Django?

#django #postgresql

#django #postgresql

Вопрос:

Я пытаюсь сохранить объект JSON в объект Note. Но получение этой ошибки: InterfaceError-Error binding parameter 1 - probably unsupported type.

index.js

 $.ajax({
   type: "POST",
   url: "/notes/{{note.id}}/update",
   data: {
      content: editor.getContents(),
      csrfmiddlewaretoken: "{{ csrf_token }}"
   }
});
  

views.py

 def update_view(request, id):
    if request.method == 'POST':
        note = Note.objects.get(pk=id)
        note.content = request.POST['content']
        note.save()
        return redirect('/')
  

models.py

 from django.contrib.postgres.fields import JSONField

class Note(models.Model):
    last_updated = models.DateTimeField(auto_now_add=True)
    title = models.CharField(max_length=50)
    content = JSONField()
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
  

Любая помощь приветствуется.

Ответ №1:

Вы на самом деле не показали здесь достаточно информации. Но, вероятно, вам нужно проанализировать необработанный JSON перед передачей его в модель:

     note.content = json.loads(request.POST['content'])