我在这里问了一个关于manytomanyfield的问题我已经解决但现在出现了一个新问题,
DatabaseError at /admin/myapp/photo/8/delete/
relation "woek_gallery_photos" does not exist
LINE 1: DELETE FROM "woek_gallery_photos" WHERE "photo_id" IN ...
我知道为什么这个问题引起但我不知道该怎么做。我有一个Photo模型,它与Group模型和Gallery模型有关。当我从Gallery中添加一个图像时,它的效果很好,但是对于删除它,会引发Group关于没有任何关系的问题......
class Gallery(models.Model):
....
photos = models.ManyToManyField('Photo', related_name='galleries',
verbose_name=_('Gallery'),
null=True, blank=True)
class Group(models.Model):
...
photos = models.ManyToManyField('Photo', related_name='galleries',
verbose_name=_('Group'),
null=True, blank=True,
through='through=GroupPhotos')
class Photo(models.Model):
image = models.ImageField(verbose_name = "Browse",
upload_to=myPath)
感谢您的帮助。
答案 0 :(得分:4)
该错误意味着Photo
和Gallery
之间关系的连接表缺失或从未创建过。如果您还没有这样做,请运行:
python manage.py syncdb
如果仍然无效,请手动创建表格。你可以运行:
python manage.py sqlall yourapp
获取正确的SQL使用。查找它创建woek_gallery_photos
的行并复制该位。然后运行:
python manage.py dbshell
并在提示符下粘贴它。点击进入,你应该很高兴。
答案 1 :(得分:1)
relation "woek_gallery_photos" does not exist
表示TABLE“woek_gallery_photos”不存在。您是否忘记在创建Photo模型后运行syncdb?