Как разместить данные в django rest в модели, имеющей Jsonfield

У меня есть задача создать простой post API для отправки посетителю сообщения через контактную форму, содержащую такие поля, как full_name, address, phone и т.д. Но вместо того, чтобы создавать модель, я должен использовать уже существующую модель, которая имеет Json-поле. Теперь мне нужно использовать это jsonfield, которое будет содержать все поля, такие как имя, адрес и т.д.

class Core(models.Model):
    """
    Model that saves the corresponding credentials for the slug.
    """

    slug = models.CharField(max_length=255, null=False)
    example = models.JSONField(null=False, default=dict)

    def __str__(self) -> str:
        return self.slug

Если бы это было сделано обычным способом, путем создания модели, это было бы так.

class Contacts(models.Model):
    full_name = models.CharField(max_length=100,blank=True,default="")
    email = models.EmailField()
    phone = models.CharField(max_length= 16)
    address = models.CharField(max_length=255,blank=True,default="")
    message = RichTextField()

    def __str__(self):
        return self.email

Теперь, как мне отправить данные этих полей в словарь без JsonField, не создавая модель Contacts?

Прежде всего, этот вопрос не ясен. Пожалуйста, задайте свой вопрос более четко. Надеюсь, приведенный ниже способ поможет вам.

В этом поле хранятся данные типа;

{"full_name":"John Doe", "email": "johndoe@doe.com", "phone":"XXXXXXXXXXX"}

Вы можете создать словарь и присвоить его полю. Также вы можете создать данные в формате json следующим образом;

json_example = json.dumps(full_name="John Doe, email="johndoe@doe.com, phone="XXXXXXXXXXX")

и затем создайте объект Core ;

core = Core(example = json_example)
core.save()
Вернуться на верх