web-dev-qa-db-ja.com

テーブルthumbnail_kvstoreが存在しません

テンプレートにサムネイルを表示できません。このエラーが発生します:

Django.db.utils.ProgrammingError:(1146、 "テーブル 'ia_website.thumbnail_kvstore'は存在しません")

  • インストールされたsorl_thumbnail-12.3
  • MariaDB10.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 %}
    
20
Marc

したがって、いくつかの調査の結果、PyPIとGithubのsorl-thumbnailのバージョン12.3が異なるように見えます。

PyPI -からソースを直接ダウンロードすると、パッケージに移行が含まれていないことがわかります。 これが、すべての移行を実行したにもかかわらずテーブルが存在しない理由です

Githubでは、 移行ファイル バージョン12.3の場合は間違いなく存在します。

3つのオプションがあります。

  1. ./manage.py syncdbを使用してテーブルを作成します(Django 1.8以下を実行している場合のみ)
  2. バージョン12.3のGithubから直接インストールします
  3. 移行を含むバージョン12.4a1のsorl-thumbnailを使用する

次のように、Githubから直接インストールできます。

pip install git+git://github.com/mariocesar/[email protected]

sorl-thumbnailバージョン12.3は、最大Djangoバージョン1.8をサポートし、syncdbコマンドは引き続き存在します。Django 1.8以下を実行している場合は、作成できます。実行して不足しているテーブル

python manage.py syncdb
37
Derek Kwok

ただなら

manage.py makemigrations 

移行は作成されません。試してください

manage.py makemigrations thumbnail 
manage.py migrate

これにより、サムネイルの移行が作成され、移行されます。わたしにはできる。 Django 1.9およびsorl.thumbnail12.3を使用しています。

49
AlmasK89

Sorl-thumbnailのバージョン12.3を使用します。この手順に従ってください

実際のバージョンを削除する

pip uninstall sorl-thumbnail

バージョン12.3をインストールします

pip install git+git://github.com/mariocesar/[email protected]

移行

python manage.py migrate
1
Guilherme IA

私にとっては、dumpdataの実行中にエラーが発生しました。

したがって、dumpdataを使用しようとしたためにこのスレッドがここにある場合は、サムネイルアプリを除外することで簡単に回避できます。

python manage.py dumpdata --exclude thumbnail

もちろん、Djangoをクリーンにしたい場合は、他の回答に従う必要があります。

0
flix