I forgot to add: the full error message is: "Cannot set values on a ManyToManyField which specifies an intermediary model. Use SystemTicket's Manager instead."
I'm not sure how I'd use the manager in this particular case though. On Mar 19, 5:21 pm, Delta20 <digital_illumin...@yahoo.com> wrote: > I'm getting the error "Cannot set values on a ManyToManyField which > specifies an intermediary model." when I try to call form.save_m2m() > and I would appreciate any tips as to how to work around this. > > Here's some code that illustrates what I am doing: > > --- > # Using a basic form in a view function: > > ticket = form.save(commit=False) > ticket.save() > form.save_m2m() # this does not work > > --- > # in models.py: > > class System(models.Model): > # fields omitted for brevity > > class Ticket(models.Model): > systems = models.ManyToManyField(System, through='SystemTicket') > > def do_stuff(self): > # Do some stuff that has to happen after m2m > > # custom m2m so we can act on the post_save signal > class SystemTicket(models.Model): > ticket = models.ForeignKey(Ticket) > system = models.ForeignKey(System) > > def update_stuff(instance, **kwargs): > instance.ticket.do_stuff() > instance.ticket.save() > > post_save.connect(update_stuff, sender=SystemTicket) --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---