0
Я постараюсь сделать это так просто, как я могу:способов сохранить Джанго модели с помощью вложенного словаря
У меня есть 2 модели
from django.db import models
class OrderDetail(models.Model):
product = models.CharField(max_length=100)
price = models.CharField(max_length=50)
class Order(models.Model):
url = models.CharField(max_length=255, unique=True)
loaded_info = models.BooleanField(default=False)
status = models.CharField(max_length=100, null=True)
details = models.OneToOneField(OrderDetail)
И я свистеть, чтобы сохранить с помощью Dict как это:
data = {
"order": {
"url": "http://stackoverflow.com/",
"loaded_info": True,
"status": "complete",
"details": {
"product": "Fresh answer",
"price": "50 points"
}
}
}
Я хотел бы сделать что-то близкое к:
order = Order(**data).save()
И получить Order
и OrderDetail
сохраняются с использованием одной линии.
Да, генерировать JSON с помощью сериализаторы хороши для outputing данных, но я хочу, чтобы сохранить данные заказа и OrderDetail, просто вводя словарь в модель заказа. –
Хорошо, я понимаю. В таком случае. Я думаю, что у вас есть правильная идея, когда вы произносите «Заказ» (** данные) .save(). Вам придется перезаписать init, чтобы проверить правильность аргументов ключевого слова, но это то, что делает форма. Можете ли вы использовать OrderForm? – fiacre