Ah, gotcha, so my signal is attached to the wrong sender. I was
thinking I would have access to the categories during the Entry's save
operation due to the m2m relationship on the field, but obviously not.

I'll move the signal and see what happens.

Thank you,
Brandon

On Mar 16, 6:53 pm, Malcolm Tredinnick <malc...@pointy-stick.com>
wrote:
> On Mon, 2009-03-16 at 08:48 -0700, Brandon Taylor wrote:
> > Hi everyone,
>
> > I'm running Python 2.6.1, Django Trunk.
>
> > I have a model (Entry) with a ManyToMany (Categories). I need to be
> > able to iterate over these categories whenever my parent model is
> > saved.
>
> > I've tried overriding save_model in the admin, and adding a post_save
> > signal to Entry in order to be able to iterate over the categories.
> > The problem only occurs on an insert. If I do:
>
> > class Entry(models.Model):
> >     name = models.CharField(max_length=100)
> >     categories = models.ManyToManyField(Category)
>
> >     class Meta:
> >         verbose_name_plural = 'Entries'
>
> >     def __unicode__(self):
> >         return self.name
>
> > class EntryAdmin(admin.ModelAdmin):
> >     def save_model(self, request, obj, form, change):
> >         obj.save()
> >         print obj.categories.all()
>
> > obj.categories.all() = []
>
> > However, when performing an update, I have a list of Category objects.
> > Is this a model lifecycle issue as far as when the ManyToMany gets
> > saved? What can I do to be able to access the list of categories when
> > the object is created?
>
> Many-to-many relations cannot be saved until the object itself is saved,
> since they need ot know the object's pk value to use in the relation
> table. Consequently, many-to-many handling in forms is done after saving
> the model itself. You're trying to look up the categories before they've
> been saved.
>
> Regards,
> Malcolm
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to