gpt4 book ai didi

Django ManyToManyField 错误

转载 作者:行者123 更新时间:2023-12-04 16:41:14 24 4
gpt4 key购买 nike

我正在使用 Django 的 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'] 将在 Genre 中找到。有人可以帮帮我吗?

最佳答案

您需要在创建电影实例后保存它,然后才能添加 m2m 关系。

关于Django ManyToManyField 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5541119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com