Table thumbnail_kvstore 不存在
Table thumbnail_kvstore doesn't exist
我无法在我的模板中显示缩略图。我收到此错误:
django.db.utils.ProgrammingError: (1146, "Table 'ia_website.thumbnail_kvstore' doesn't exist")
- 已安装 sorl_thumbnail-12.3
- 我正在使用 MariaDB 10.1.11
- 我没有未执行的迁移
- 不使用'thumbnail'标签就能看到图片
这是我做的
在settings.py:
INSTALLED_APPS = [
...
'sorl.thumbnail',
]
THUMBNAIL_DEBUG = TRUE
在models.py
import sorl
...
image = sorl.thumbnail.ImageField(upload_to='thumbnails', null=True)
在我的模板中
{% thumbnail content.image "237x110" as im %}
<img src="{{ im.url }}">
{% endthumbnail %}
所以经过一番研究,PyPI 上的 sorl-thumbnail 版本 12.3
和 Github 版本似乎不同!
如果您直接从 PyPI 下载源代码 - 您会发现该包不包含任何迁移。 这就是 table 不存在的原因,即使您已经 运行 所有迁移。
在 Github 上,版本 12.3
的 the migration file 肯定存在。
您有三个选择:
- 使用
./manage.py syncdb
创建 table(仅当您使用 运行ning Django 1.8 或更低版本时)
- 直接从 Github 安装版本
12.3
- 使用包含迁移的 sorl-thumbnail 版本
12.4a1
您可以直接从 Github 安装,如下所示:
pip install git+git://github.com/mariocesar/sorl-thumbnail@v12.3
sorl-thumbnail 版本 12.3 最高支持 Django 版本 1.8,其中 syncdb 命令仍然存在。如果您使用的是 运行ning Django 1.8 或更低版本,您可以通过 运行ning
创建缺少的 table
python manage.py syncdb
如果只是
manage.py makemigrations
没有创建任何迁移,请尝试
manage.py makemigrations thumbnail
manage.py migrate
这将为缩略图创建迁移,然后迁移它们。
这个对我有用。
我正在使用 Django 1.9 和 sorl.thumbnail 12.3。
对我来说,错误只是在执行 dumpdata
时发生的。
因此,如果您因为尝试使用 dumpdata
而在此处找到此主题,那么排除缩略图应用程序对您来说可能是一个简单的解决方法:
python manage.py dumpdata --exclude thumbnail
当然,如果你想让你的 Django 干净,你应该遵循其他答案。
使用 12.3 版的 sorl-thumbnail。按照这个步骤
删除实际版本
pip uninstall sorl-thumbnail
安装 12.3 版
pip install git+git://github.com/mariocesar/sorl-thumbnail@v12.3
迁移
python manage.py migrate
我无法在我的模板中显示缩略图。我收到此错误:
django.db.utils.ProgrammingError: (1146, "Table 'ia_website.thumbnail_kvstore' doesn't exist")
- 已安装 sorl_thumbnail-12.3
- 我正在使用 MariaDB 10.1.11
- 我没有未执行的迁移
- 不使用'thumbnail'标签就能看到图片
这是我做的
在settings.py:
INSTALLED_APPS = [ ... 'sorl.thumbnail', ] THUMBNAIL_DEBUG = TRUE
在models.py
import sorl ... image = sorl.thumbnail.ImageField(upload_to='thumbnails', null=True)
在我的模板中
{% thumbnail content.image "237x110" as im %} <img src="{{ im.url }}"> {% endthumbnail %}
所以经过一番研究,PyPI 上的 sorl-thumbnail 版本 12.3
和 Github 版本似乎不同!
如果您直接从 PyPI 下载源代码 - 您会发现该包不包含任何迁移。 这就是 table 不存在的原因,即使您已经 运行 所有迁移。
在 Github 上,版本 12.3
的 the migration file 肯定存在。
您有三个选择:
- 使用
./manage.py syncdb
创建 table(仅当您使用 运行ning Django 1.8 或更低版本时) - 直接从 Github 安装版本
12.3
- 使用包含迁移的 sorl-thumbnail 版本
12.4a1
您可以直接从 Github 安装,如下所示:
pip install git+git://github.com/mariocesar/sorl-thumbnail@v12.3
sorl-thumbnail 版本 12.3 最高支持 Django 版本 1.8,其中 syncdb 命令仍然存在。如果您使用的是 运行ning Django 1.8 或更低版本,您可以通过 运行ning
创建缺少的 tablepython manage.py syncdb
如果只是
manage.py makemigrations
没有创建任何迁移,请尝试
manage.py makemigrations thumbnail
manage.py migrate
这将为缩略图创建迁移,然后迁移它们。 这个对我有用。 我正在使用 Django 1.9 和 sorl.thumbnail 12.3。
对我来说,错误只是在执行 dumpdata
时发生的。
因此,如果您因为尝试使用 dumpdata
而在此处找到此主题,那么排除缩略图应用程序对您来说可能是一个简单的解决方法:
python manage.py dumpdata --exclude thumbnail
当然,如果你想让你的 Django 干净,你应该遵循其他答案。
使用 12.3 版的 sorl-thumbnail。按照这个步骤
删除实际版本
pip uninstall sorl-thumbnail
安装 12.3 版
pip install git+git://github.com/mariocesar/sorl-thumbnail@v12.3
迁移
python manage.py migrate