2011-04-04 5 views
3

私は、DjangoののManyToManyFieldを使用しています、と私はそれにデータを追加しようとすると、私は次のエラーを取得する:ジャンゴのManyToManyFieldエラー

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" 

私はDjangoの1.3を使用しています、と私は以下の私のコードの一部です。 :エラーが発生した場合

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") 

である:

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

OBJ [I] [ 'ID']の中に発見されることが保証されていますジャンル。誰か助けてくれますか?

答えて

9

m2m関係を追加する前に、ムービーインスタンスを作成した後に保存する必要があります。

+0

ありがとうございました。 –