表thumbnail_kvstore不存在

Mar*_*arc 20 python django sorl-thumbnail

我无法在模板中显示缩略图.我收到此错误:

django.db.utils.ProgrammingError:(1146,"表'ia_website.thumbnail_kvstore'不存在")

  • 已安装sorl_thumbnail-12.3
  • 我正在使用MariaDB 10.1.11
  • 我没有没有执行的迁移
  • 如果我不使用'thumbnail'标签,我可以看到图像

这就是我做的

Alm*_*K89 49

如果只是

manage.py makemigrations 
Run Code Online (Sandbox Code Playgroud)

不会创建任何迁移,请尝试

manage.py makemigrations thumbnail 
manage.py migrate
Run Code Online (Sandbox Code Playgroud)

这将创建缩略图的迁移,然后迁移它们.这个对我有用.我正在使用Django 1.9和sorl.thumbnail 12.3.


Der*_*wok 37

经过一些研究,看起来像12.3PyPI和Github上的sorl-thumbnail 版本是不同的!

如果直接从PyPI下载源代码,您会发现该软件包不包含任何迁移.即使您运行了所有迁移,这也是表不存在的原因.

在Github上,版本的迁移文件12.3肯定存在.

你有三个选择:

  1. 使用创建表./manage.py syncdb(仅当您运行Django 1.8或更低版本时)
  2. 直接从Github安装版本 12.3
  3. 使用12.4a1包含迁移的sorl-thumbnail 版本

您可以直接从Github安装如下:

pip install git+git://github.com/mariocesar/sorl-thumbnail@v12.3
Run Code Online (Sandbox Code Playgroud)

sorl-thumbnail版本12.3最多支持Django 1.8版,其中syncdb命令仍然存在.如果您正在运行Django 1.8或更低版本,则可以通过运行来创建缺少的表

python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)

  • 请参阅以下AlmasK89的答案,了解如何在Django 1.9或更高版本中运行makemigrations:http://stackoverflow.com/a/35883910/568270 (3认同)