Hi,
I've seen quite a few examples showing various ways to create a form using 
manytomany relationships and save the data, but i'm still missing a key 
piece of the puzzle.
I've created a form and it "works", meaning the form creates a new Item 
object and associates the user.
However i'm not sure how to go about saving the item category and item 
components selected in the form.

I've tried quite a few things over the last week and i know its quite easy, 
but just haven't quite gotten there yet and would appreciate some guidance.

FORM:
class NewItemForm(ModelForm):

    class Meta:
        model = Item
        fields = ('name', 'desc', 'img','category','components')

    def save(self, user, component commit = True):
        """Append the component list to the item"""
        new_item = super(NewItemForm, self).save(commit = Fals

        if commit:
                new_item.save()
#                new_item.save_m2m()
                new_item.user.add(user)
                if component != "none":
                    new_item.category.add(new_item)
                    new_item.components.add(new_item)

        return new_item

VIEW:
def create_item(request):

    if request.method == "POST":
        form = NewItemForm(request.POST, instance=item())
        if form.is_valid():
                form.save(request.user, "none")
        return HttpResponseRedirect(reverse('nav.views.dashboard'))
    else:
        form = CategoryForm(instance=item())
        return render_to_response('objects/create_item.html', {'item_Form': 
form}, context_instance=RequestContext(request))

MODEL:
class Item(models.Model):
    # 
    def __unicode__(self):  # Python 3: def __str__(self):
        return self.name

    name  = models.CharField(max_length=32)
    desc  = models.CharField(max_length=254)
    img   = models.CharField(max_length=32)
    user  = models.ManyToManyField(User) 
    components = models.ManyToManyField(component)
    category  = models.ManyToManyField(Category)

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/dc51e07e-3bdc-49ed-a8e4-c5a4137e96bf%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to