def create(request): if request.method == 'POST': invoice_form = InvoiceForm(request.POST) item_formset = ItemFormSet(request.POST) if invoice_form.is_valid() and item_formset.is_valid(): invoice_form.clean() item_formset.clean() new_invoice = Invoice(bill_to=invoice_form['bill_to'].data, date=invoice_form['date'].data, user=request.user) new_invoice.save() for form in item_formset: print form.cleaned_data print form['item_price'].data new_item = Item(name=form['item_name'].data, price=form['item_price'].data, user=request.user) new_item.save() print type(new_item.price) new_invoice_item = InvoiceItem(count=form['item_count'].data, item=new_item, user=request.user) new_invoice_item.save() new_invoice.items.add(new_invoice_item) new_invoice.save() return redirect('/dashboard/') else: invoice_form = InvoiceForm() item_formset = ItemFormSet() return render(request, 'invoice/create.html', {'invoice_form': invoice_form, 'item_formset': item_formset, 'form_counter': len(item_formset.forms) - 1,})
for i in range(300): name = names[randint(0, len(names)-2)] street_number = randint(1,2000) street_name = streets[randint(0,len(streets)-2)] d = datetime.date(randint(2006,2010), randint(1,12), randint(1,27)) shipping_pickup_date = datetime.date(randint(2000,2010), randint(1,12), randint(1,27)) address = str(street_number) + " " + street_name city = "Toronto" shipping_handling = randint(10,50) invoice = Invoice(name=name, date=d, address=address, city=city, shipping_pickup_date=shipping_pickup_date, shipping_handling=shipping_handling) invoice.save() for i in range(randint(5,12)): item_name = items[randint(0, len(items)-2)] price = randint(50,300) quantity = randint(1,5) item = Item(name=item_name, invoice=invoice, price=price, quantity=quantity) item.save() print name + " - " + address + ": " + item_name + " = " + str(price) + " * " + str(quantity) for i in range(100): name = names[randint(0, len(names)-2)] street_number = randint(1,2000) street_name = streets[randint(0,len(streets)-2)] d = datetime.date(2011, 1, randint(1,22)) shipping_pickup_date =datetime.date(2011, 1, randint(1,22)) address = str(street_number) + " " + street_name city = "Toronto" shipping_handling = randint(10,50) invoice = Invoice(name=name, date=d, address=address, city=city, shipping_pickup_date=shipping_pickup_date, shipping_handling=shipping_handling) invoice.save()