Cannot get Django test migrations to detect test models.py

37 views
Skip to first unread message

ch...@routh.io

unread,
Nov 3, 2018, 2:40:20 PM11/3/18
to Django users
Hi folks, I'm trying to build a test suite for a django plugin for a field. To test the field I need to have a test model, but since my django app does not provide models, and I have the model in the /tests/models.py it's not detecting the model when the test db migrations are applied. I saw some suggestions on stack overflow to add the test app to the INSTALLED_APPS in the test app, however that causes an django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. error, which I imagine is caused by the tests app not being a full blown app. What's the proper solution for Django 2.0+ ? I'd prefer not to use the fake models solution as I plan to open source the module and want the field tested against a real db on Django 2.0 and 2.1.

Source is here: https://gitlab.routh.io/open-source/django-bleachfields

Test failures and attempted configurations can be seen in the CI pipeline and commit history.

Hoping someone can lend their insights.

Phako Perez

unread,
Nov 3, 2018, 10:07:06 PM11/3/18
to django...@googlegroups.com
I can suggest to use different name for your test app, as directory test is used by Django for actual test your application, maybe is that the reason your app is failing 

Sent from my iPhone
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/d525bd73-0db8-4d17-b5b8-254461a9a533%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

amit pant

unread,
Nov 5, 2018, 5:25:53 AM11/5/18
to django...@googlegroups.com
can you register your model in admin.py?
If not then go for it.

--

ch...@routh.io

unread,
Nov 5, 2018, 8:43:06 AM11/5/18
to django-users
I'm not sure you understood the question.


From: "amit pant" <amitp...@gmail.com>
To: "django-users" <django...@googlegroups.com>
Sent: Monday, November 5, 2018 2:24:51 AM
Subject: Re: Cannot get Django test migrations to detect test models.py

ch...@routh.io

unread,
Nov 5, 2018, 8:45:48 AM11/5/18
to django-users
I am not sure you understood. I am doing testing, and this is a model that is only for tests. I am attempting to achieve the test-only models solution outlined here:

https://code.djangoproject.com/ticket/7835#comment:24

Also outlined in the first paragraph of this accepted answer on stack overflow:

https://stackoverflow.com/questions/502916/django-how-to-create-a-model-dynamically-just-for-testing?rq=1


app/tests/models.py or putting models in app/tests.py should result in the model being detected and migrated in the test database, but the model is never detected, so the tests fail when they are run because the tables are missing.


From: "Phako Perez" <13.ph...@gmail.com>
To: "django-users" <django...@googlegroups.com>
Sent: Saturday, November 3, 2018 7:06:19 PM

Subject: Re: Cannot get Django test migrations to detect test models.py
Reply all
Reply to author
Forward
0 new messages