Как разместить данные в 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()