0

我在这里问了一个关于 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 ...

我知道为什么会出现这个问题,但我不知道该怎么做。我有一个与 Group 模型和 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)

感谢您的所有帮助。

4

2 回答 2

4

Photo该错误意味着和之间的关系的连接表Gallery丢失或从未创建过。如果您还没有这样做,请运行:

python manage.py syncdb

如果这仍然不起作用,请手动创建表。你可以运行:

python manage.py sqlall yourapp

获得正确的 SQL 来使用。查找它创建woek_gallery_photos并复制该位的行。然后运行:

python manage.py dbshell

并将其粘贴到提示符处。点击进入,你应该很高兴。

于 2012-07-06T15:06:49.393 回答
1

relation "woek_gallery_photos" does not exist表示表“woek_gallery_photos”不存在。您是否在创建 Photo 模型后忘记运行 syncdb?

于 2012-07-06T15:07:18.460 回答