def load_invoices(file='../data/invoices.json'): input_file = open(file, encoding='utf-8') json_array = json.load(input_file) for inv in json_array: company = Company.query.get(inv['company_id']) buyer = Contact.query.get(inv['buyer_id']) user = User.query.get(inv['user_id']) issue_date = dt.datetime.strptime(inv['issue_date'], '%Y-%m-%d') due_date = dt.datetime.strptime(inv['due_date'], '%Y-%m-%d') invoice = Invoice(issue_date=issue_date, due_date=due_date, payment_form=inv['payment_form'], type=inv['type'], invoice_buyer=buyer, invoice_company=company, invoice_author=user) invoice.create_serial_number() db.session.add(invoice) load_invoice_items(inv['items'], invoice) invoice.total_sum = sum([item['total_price'] for item in inv['items']]) db.session.commit()