FAIL from django.db import models from django.forms import ModelForm class Category(models.Model): name = models.CharField(max_length=250) def __unicode__(self): return self.name class Product(models.Model): category = models.ForeignKey(Category) product = models.CharField(max_length=250) quantity = models.IntegerField(default=0) price = models.FloatField(default=0.0) def __unicode__(self): return self.product class ProductForm(ModelForm): class Meta: model = Product from models import * from django.shortcuts import render_to_response from django.http import HttpResponseRedirect def index(request): ... ... def add_product(request): if request.method == 'POST': form = ProductForm(request.POST) print form['product'] if form.is_valid(): form.save() return HttpResponseRedirect('/product') else: print 'FAIL' return HttpResponseRedirect('/product')
{% csrf_token %}
{% csrf_token %} {{ form.as_p }}
class ProductForm(ModelForm): class Meta: model = Product from django import forms from models import Category class ProductForm(forms.Form): # Put all my Categories into a select option category = forms.ModelChoiceField(queryset=Category.objects.all()) product = forms.CharField() quantity = forms.IntegerField() price = forms.FloatField() def add_product(request): success = False if request.method == "POST": product_form = ProductForm(request.POST) if product_form.is_valid(): success = True category = Category.objects.get(name=product_form.cleaned_data['category']) product = product_form.cleaned_data['product'] quantity = product_form.cleaned_data['quantity'] price = product_form.cleaned_data['price'] new_product = Product(category = category, product = product, quantity = quantity, price = price ) new_product.save() new_product_form = ProductForm() ctx2 = {'success':success, 'product_form':new_product_form} return render_to_response('product/add_product.html', ctx2 , context_instance=RequestContext(request)) else: product_form = ProductForm() ctx = {'product_form':product_form} return render_to_response('product/add_product.html', ctx , context_instance=RequestContext(request)) {% if success %}

product added successfully

{% endif %}
{% csrf_token %} {{ product_form.as_p }}