繁体   English   中英

Django 1.9 + Photologue:没有这样的专栏

[英]Django 1.9 + Photologue: no such column

我正在使用Django 1.9+ Photologue 3.x构建照片库Web应用程序。

当我尝试添加照片或画廊时,它返回'NO SUCH COLUMN EXCEPTION'

Request Method: GET
Request URL:    http://127.0.0.1:8000/admin/photologue/gallery/
Django Version: 1.9.5
Exception Type: OperationalError
Exception Value:    
no such column: photologue_gallery.slug
Exception Location: //anaconda/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py in execute, line 323
Python Executable:  //anaconda/bin/python
Python Version: 2.7.12

然后,我检查了模型文件并查看了文件。

model.py

@python_2_unicode_compatible
class Gallery(models.Model):
    date_added = models.DateTimeField(_('date published'),
                                      default=now)
    title = models.CharField(_('title'),
                             max_length=250,
                             unique=True)
    slug = models.SlugField(_('title slug'),
                            unique=True,
                            max_length=250,
                            help_text=_('A "slug" is a unique URL-friendly title for an object.'))
    description = models.TextField(_('description'),
                               blank=True)
    is_public = models.BooleanField(_('is public'),
                                default=True,
                                help_text=_('Public galleries will be displayed '
                                            'in the default views.'))
    photos = SortedManyToManyField('photologue.Photo',
                               related_name='galleries',
                               verbose_name=_('photos'),
                               blank=True)
    sites = models.ManyToManyField(Site, verbose_name=_(u'sites'),
                               blank=True)

    objects = GalleryQuerySet.as_manager()

这似乎是正确的。 由于它是Django 1.9,因此不再提供syncdbclear sql methods 我尝试了迁移/ makemigrations,sqlmigrates,但它们都不起作用。

我的想法是重建sql表,但是如何实现此目的,或采用任何其他方法来解决此问题?

谢谢。

EDIT1:尝试使用flush命令来刷新db中的数据,但仍然无法正常工作。

EDIT2:尝试了inspectdb命令,

class PhotologueGallery(models.Model):
    id = models.IntegerField(primary_key=True)  # AutoField?
    date_added = models.DateTimeField()
    title = models.CharField(unique=True, max_length=100)
    title_slug = models.CharField(unique=True, max_length=50)
    description = models.TextField()
    is_public = models.BooleanField()
    tags = models.CharField(max_length=255)

    class Meta:
        managed = False
        db_table = 'photologue_gallery'

这是否意味着模型中的“ slug”字段与数据库中的实际字段“ title_slug”不匹配?

尽管syncdb命令已从Django 1.9中删除

python manage.py migrate appname --run-syncdb命令。

该模型与数据库同步。

您说Django迁移系统-“ python manage.py migration”不起作用。 怎么了? 您是否收到错误消息?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM