thumbnail easy_thumbnails easy python django sorl-thumbnail

python - easy_thumbnails - La tabla thumbnail_kvstore no existe



easy-thumbnails (4)

Entonces, después de algunas investigaciones, parece que la versión 12.3 de sorl-thumbnail en PyPI y Github son diferentes.

Si descarga la fuente directamente desde PyPI , encontrará que el paquete no contiene ninguna migración. Esta es la razón por la que la tabla no existe aunque haya ejecutado todas las migraciones .

En Github, el archivo de migración para la versión 12.3 definitivamente existe.

Tienes tres opciones:

  1. Cree la tabla utilizando ./manage.py syncdb (solo si está ejecutando Django 1.8 o inferior)
  2. Instalar directamente desde Github para la versión 12.3
  3. Use la versión 12.4a1 de sorl-thumbnail que incluye migraciones

Puedes instalar desde Github directamente de la siguiente manera:

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

sorl-thumbnail versión 12.3 admite hasta Django versión 1.8, donde aún existe el comando syncdb. Si está ejecutando Django 1.8 o una versión inferior, puede crear la tabla que falta ejecutando

python manage.py syncdb

No puedo ver la miniatura en mi plantilla. Me sale este error:

django.db.utils.ProgrammingError: (1146, "La tabla ''ia_website.thumbnail_kvstore'' no existe")

  • Instalado sorl_thumbnail-12.3
  • Estoy usando MariaDB 10.1.11
  • No tengo migraciones que no se ejecuten.
  • Puedo ver la imagen si no uso la etiqueta ''miniatura''

Aquí esta lo que hice

  • En settings.py:

    INSTALLED_APPS = [ ... ''sorl.thumbnail'', ] THUMBNAIL_DEBUG = TRUE

  • En modelos.py

    import sorl ... image = sorl.thumbnail.ImageField(upload_to=''thumbnails'', null=True)

  • En mi plantilla

    {% thumbnail content.image "237x110" as im %} <img src="{{ im.url }}"> {% endthumbnail %}


Para mí, el error acaba de ocurrir al ejecutar dumpdata .

Entonces, si encuentra este hilo aquí porque intentó usar dumpdata , entonces excluir la aplicación de miniaturas probablemente sea una solución fácil para usted:

python manage.py dumpdata --exclude thumbnail

Por supuesto, debe seguir las otras respuestas, si desea limpiar su Django.


Si solo

manage.py makemigrations

no crea ninguna migración, intente

manage.py makemigrations thumbnail manage.py migrate

Esto creará migraciones para la miniatura y luego las migrará. Esto funciona para mi. Estoy usando Django 1.9 y sorl.thumbnail 12.3.


Use la versión 12.3 de sorl-thumbnail. Sigue estos pasos

Quitar la versión actual

pip uninstall sorl-thumbnail

Instalar la versión 12.3

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

Migraciones

python manage.py migrate