#python #django #django-models
#python #django #django-модели
Вопрос:
У меня есть две модели Django
class Invoice(models.Model):
id = models.IntegerField()
is_converted = models.BooleanField(default=False)
эта модель хранит информацию о счетах и предложениях
и другая модель, содержащая детали элементов конкретного счета-фактуры / предложения
class Items(models.Model):
document = models.Foreignkey(Invoice, on_delete=models.CASCADE)
price = models.DecimalField(max_digits=8, decimal_places=2)
name = models.CharField(max_length=50)
теперь я хочу преобразовать запись предложения из модели Invoice
в счет-фактуру продажи
Я скопировал данные из строки Invoice
модели в другую строку (так как я также хочу сохранить запись цитаты)
Моя проблема заключается в копировании элементов из Item
модели записи предложения во вновь созданную запись счета.
Я пробовал это
quotation_items = Items.objects.filter(document=id)
это возвращает обычный набор запросов
<QuerySet [<items: items object (238)>, <items: items object (240)>, <items: items object (241)>]>
Теперь я хочу сохранить эти записи в Items
модели для преобразованных счетов-фактур.
Есть ли какой-либо способ сохранения наборов запросов в модели Django?
Комментарии:
1. Для массового создания вы можете использовать
bulk_create
Ответ №1:
Я решил эту проблему bulk_create
благодаря комментарию @Marat
quotation_items = Items.objects.filter(document=id)
new_item_list = []
for item_obj in quotation_items:
item_obj.pk = None
item_obj.document = new_obj # newly created invoice intance
new_item_list.append(item_obj)
tbl_invoice_description.objects.bulk_create(new_item_list)
Я хочу скопировать наборы запросов в новые строки с измененными столбцами pk и document