#20933 closed Bug (fixed)
manage.py loaddata stopped working on Django 1.6b2
Reported by: | static | Owned by: | Aymeric Augustin |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.6-beta-1 |
Severity: | Release blocker | Keywords: | |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
Hello,
I have a script for loading fixtures that always worked in Django and it suddenly stopped working on Django 1.6b2. It works on 1.5.1, 1.5.2 and 1.6b1.
### Create an app called appname and a folder called fixtures with a file groups.yaml like this:
- fields: name: Group1 permissions: [] model: auth.group pk: 1 - fields: name: Group2 permissions: [] model: auth.group pk: 2 - fields: name: Group3 permissions: [] model: auth.group pk: 3
### Try run on terminal
python manage.py loaddata appname/fixtures/groups.yaml
### Output for Django 1.6b2
.../local/lib/python2.7/site-packages/django/core/management/commands/loaddata.py:218: UserWarning: No fixture named 'appname/fixtures/groups' found.
warnings.warn("No fixture named '%s' found." % fixture_name)
Installed 0 object(s) from 0 fixture(s)
(test was made using PostgreSQL with psycopg2 2.5.1 - I didn't had time to test on other dbs)
Change History (11)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
I am sorry! I just noticed this error now (testing in 1.6). I am sure it works on 1.5.1 and 1.5.2 not in 1.6b1. I will make the test again in beta 1.
follow-up: 7 comment:3 by , 11 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
Triage Stage: | Unreviewed → Accepted |
Right. I must have broken loading fixtures from an absolute path — the third option mentioned here: https://docs.djangoproject.com/en/dev/howto/initial-data/#where-django-finds-fixture-files
comment:5 by , 11 years ago
Version: | master → 1.6-beta-1 |
---|
comment:6 by , 11 years ago
Description: | modified (diff) |
---|
comment:7 by , 11 years ago
Replying to aaugustin:
Right. I must have broken loading fixtures from an absolute path — the third option mentioned here: https://docs.djangoproject.com/en/dev/howto/initial-data/#where-django-finds-fixture-files
No, absolute paths work as intended:
./manage.py loaddata `pwd`/appname/fixtures/groups Installed 3 object(s) from 1 fixture(s)
The issue is relative paths, which aren't documented to work, though it would make sense that they do, I'll see what I can do.
comment:8 by , 11 years ago
https://github.com/django/django/pull/1492 Pull request with "not so strict" validation of the path.
comment:9 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
The major refactoring in 51aa000378c00a442273f01142acdebc94dec68d may have broken loading fixtures from an absolute path, but it was before 1.6b1. Are you positive it still works in 1.6b1?
It would be extremely helpful if you could bisect to find the commit that introduced the regression.