I'm having trouble getting django-nose running.
Per the installation instructions, I installed by:
- Running
pip install django-nose
- Adding
'django_nose'
toINSTALLED_APPS
in settings.py (including at as the very last app, in case of possible app order issues) - Adding
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
to settings.py
When I run a test i.e. manage.py test
, I get:
django.db.utils.DatabaseError: no such table: django_content_type
I figured I need to sync the database. I am using South. When I use manage.py syncdb
, django_nose
doesn't show up in either the list of synced apps nor the list of "Not synced (use migrations)" apps.
Finally, when I try syncing with south anyhow, i.e. manage.py schemamigration django_nose --initial
, I get:
django.core.exceptions.ImproperlyConfigured: App with label django_nose is missing a models.py module.
I have Django 1.4 with South version 0.7.5 installed in a virtualenv.
What am I doing wrong? If nothing, how do I go about debugging this install problem?
Try putting the apps you want to test into PROJECT_APPS in your settings; its trying to test django_nose and generate models for it when it doesn't have a models.py file.
Looks like it's an issue about apps ordering, a quote from django-nose manual:
If you read the docs on github carefully, the problem is that when south is installed you need to put django_nose below south, read more.
So your INSTALLED_APPS in settings.py file should look something like below:
I too encountered similar issue while using kombu.transport.django in the INSTALLED_APPS. The error I got was "ImproperlyConfigured: App with label django is missing a models.py module.". Looks like the ordering of South does matter. What I did was to put south in the very bottom of the INSTALLED_APPS,
This helped resolve the issue. The migrations ran successfully. I used Django 1.5