Ich habe einen Fehler beim Ausführen von Django-Komponententests, ich habe das vorher nicht erlebt und habe es den ganzen Nachmittag gegoogelt.Django-Test fehlgeschlagen
Ich erhalte diesen Fehler im Terminal nach django manage.py Test läuft:
Error: Database test_unconvention couldn't be flushed. Possible reasons:
* The database isn't running or isn't configured correctly.
* At least one of the expected database tables doesn't exist.
* The SQL was invalid.
Hint: Look at the output of 'django-admin.py sqlflush'. That's the SQL this command wasn't able to run.
The full error: (1146, "Table 'test_unconvention.media_image' doesn't exist")
Die media_images Tabelle verwiesen wird, wenn django-admin.py sqlflush läuft und erzeugt ok, wenn ich laufen django manage.py syncdb . Diese
ist das Bild, das Modell zu sein scheint mühsam:
from django.db import models
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
class Image(models.Model):
local_image = models.ImageField(upload_to="uploads/%Y/%m/%d/", height_field="height", width_field="width", max_length=255, null=True, blank=True)
remote_image = models.CharField(editable=False, max_length=255, null=True, blank=True)
thirdparty_page = models.CharField(editable=False, max_length=255, blank=True, null=True)
size = models.CharField(editable=False, max_length=25, blank=True, null=True)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
height = models.PositiveIntegerField(editable=False, blank=True, null=True)
width = models.PositiveIntegerField(editable=False, blank=True, null=True)
created_at = models.DateTimeField(editable=False, auto_now_add=True)
updated_at = models.DateTimeField(editable=False, auto_now=True)
def __unicode__(self):
if self.local_image:
return self.local_image.name
else:
return self.remote_image
ich jede Hilfe dankbar, lass es mich wissen, wenn ich mehr Informationen zur Verfügung stellen soll!
dass Bild Modell in 'Medien' app So lebt, yep? Ist es definitiv in deinen installierten Apps, so dass es vom Testrunner synchronisiert wird? –
Die Medien-App befindet sich in einer App/einem Projekt namens 'common', die ich meinen installed_apps hinzugefügt hatte. Ich fügte 'common.media' zur Liste hinzu und die Tests funktionierten, danke :-) Wenn jemand anderes ein ähnliches Problem hat, ist es erwähnenswert, dass die syncdb und sqlall die Medien-App kein Problem und nur das verwalten .py-Test ist fehlgeschlagen. –
Kühl. Froh, dass es sortiert ist –