0

i have asked a question about manytomanyfield here which i solved but now a new problem is raised as,

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 ...

i know why this problem raises but i dont know how to. i have one Photo model which has relation with both Group model and Gallery model. when i add an image from Gallery it works good but as to deleting it, raises problem with Group about not having any relation...

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)

I appreciate your all helping.

4

2 に答える 2

4

Photoこのエラーは、との間の関係の結合テーブルGalleryが見つからないか、最初から作成されていないことを意味します。まだ実行していない場合は、次を実行します。

python manage.py syncdb

それでもうまくいかない場合は、手動でテーブルを作成してください。以下を実行できます。

python manage.py sqlall yourapp

使用する適切な SQL を取得します。woek_gallery_photosそのビットを作成してコピーする行を探します。次に実行します。

python manage.py dbshell

そして、プロンプトに貼り付けます。Enter キーを押すと、準備完了です。

于 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 に答える