#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 , 12 years ago
comment:2 by , 12 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 , 12 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 , 12 years ago
| Version: | master → 1.6-beta-1 |
|---|
comment:6 by , 12 years ago
| Description: | modified (diff) |
|---|
comment:7 by , 12 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 , 12 years ago
https://github.com/django/django/pull/1492 Pull request with "not so strict" validation of the path.
comment:9 by , 12 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.