Django ManyToManyField Error

I am using Django ManyToManyField, and when I try to add data to it, I get the following error:

Traceback (most recent call last): File "<console>", line 1, in <module> File "/home/purav/Desktop/socmov/fbcon/models.py", line 165, in getMovieInfo movie.genre.add( G ) File "/usr/local/lib/python2.6/dist-packages/django/db/models/fields/related.py", line 503, in add self._add_items(self.source_field_name, self.target_field_name, *objs) File "/usr/local/lib/python2.6/dist-packages/django/db/models/fields/related.py", line 563, in _add_items (obj, self.instance._state.db, obj._state.db)) ValueError: Cannot add "<Genre: Genre object>": instance is on database "None", value is on database "default" 

I am using Django 1.3 and I am following the part of my code:

 class Genre(models.Model): gid = models.IntegerField(primary_key = True) name = models.CharField(max_length = 20) class Movie(models.Model): mid = models.IntegerField(primary_key = True) name = models.CharField(max_length = 100) genre = models.ManyToManyField("Genre") 

Here an error occurs:

 G = Genre.objects.get(gid = obj[i]['id']) print G.name, G.gid movie.genre.add( G ) 

It is guaranteed that obj [i] ['id'] will be found within the genre. Can someone please help me?

+4
source share
1 answer

You need to save a movie instance after creating it before you can add m2m relationships.

+10
source

Source: https://habr.com/ru/post/1346590/


All Articles