Erik, as stated in documentation 
<https://docs.djangoproject.com/en/1.8/ref/models/relations/#direct-assignment>,
 
what you said is equivalent to what i did
and the error exists yet. to have more details, here is the stack trace:

Traceback (most recent call last):
  File "<console>", line 2, in <module>
  File "/home/user/Workspace/src/models.py", line 155, in create_from_dict
    obj.bars.clear()
  File 
"/usr/local/lib/python2.7/dist-packages/django/db/models/fields/related.py", 
line 1253, in __get__
    through=self.field.rel.through,
  File 
"/usr/local/lib/python2.7/dist-packages/django/db/models/fields/related.py", 
line 862, in __init__
    source_field = through._meta.get_field(source_field_name)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/options.py", 
line 554, in get_field
    raise FieldDoesNotExist('%s has no field named %r' % (self.object_name, 
field_name))
FieldDoesNotExist: Foo_bars has no field named None




On Monday, August 3, 2015 at 3:01:28 PM UTC+4:30, Erik Cederstrand wrote:
>
>
> > Den 03/08/2015 kl. 08.50 skrev [email protected] <javascript:>: 
> > 
> > Hello Django community. 
> > I have two Django models Foo and Bar that have a  ManyToMany relation: 
> > 
> > Class Foo(models.model): 
> >   
> > ... 
> > 
> >   bars = models.ManyToManyField('Bar', related_name='foos') 
> > somewhere in the code, i do direct assignment to replace the relation 
> with a new list: 
> > 
> > foo_object.bars = [bar_object_list] 
>
> You can't do that, AFAIK. You need to do: 
>
>  foo_object.bars.clear() 
>  foo_object.bars.add(*bar_object_list) 
>
>
> Erik

-- 
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/55016063-1c4d-4d3f-b201-acf3ddbdeec9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to