簡體   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