Search code examples
djangoformsmodels

How can I fill up form with model object data?


I want to fill up form with data from model instance. But my form has less fields than model. If I have code like this:

class Item(models.Model)
    name = models.CharField(max_length=100)
    price = models.PositiveIntegerField()

class ItemForm(forms.Form):
    name = forms.CharField()

What wrong is with this function and how it should look to be good?

def bound_form(request, id):
    item = Item.objects.get(id=id)
    form = ItemForm(item.name)
    return render_to_response('bounded_form.html', {'form': form})

I getting error like this: AttributeError: 'ItemForm' object has no attribute 'get'


Solution

  • def bound_form(request, id): 
        item = Item.objects.get(id=id) 
        form = ItemForm(initial={'name': item.name}) 
        return render_to_response('bounded_form.html', {'form': form})