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)
--
Ticket URL: <https://code.djangoproject.com/ticket/20933>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0
Comment:
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.
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:1>
Comment (by static):
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.
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:2>
* status: new => assigned
* owner: nobody => aaugustin
* stage: Unreviewed => Accepted
Comment:
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
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:3>
Comment (by static):
Testing done, it doesn't work in 1.6b1 either. I am sorry again.
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:4>
* version: master => 1.6-beta-1
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:5>
Old description:
New description:
Hello,
--
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:6>
Comment (by apollo13):
Replying to [comment:3 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.
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:7>
Comment (by apollo13):
https://github.com/django/django/pull/1492 Pull request with "not so
strict" validation of the path.
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:8>
* status: assigned => closed
* resolution: => fixed
Comment:
In [changeset:"96346ed5adf90849ac5ebd10d74377ed2e0c061c"]:
{{{
#!CommitTicketReference repository=""
revision="96346ed5adf90849ac5ebd10d74377ed2e0c061c"
Fixed #20933 -- Allowed loaddata to load fixtures from relative paths.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:9>
Comment (by Florian Apolloner <florian@…>):
In [changeset:"12d364a9b0b4bf820a68104a64ba312c7290518b"]:
{{{
#!CommitTicketReference repository=""
revision="12d364a9b0b4bf820a68104a64ba312c7290518b"
[1.6.x] Fixed #20933 -- Allowed loaddata to load fixtures from relative
paths.
Backport of 6e846f7627ecf0dc15053624a23bfbf47535972d from master.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:10>
Comment (by Andrew Godwin <andrew@…>):
In [changeset:"839940f27f25c2dafaa5b2ec934c2dd6b80903e8"]:
{{{
#!CommitTicketReference repository=""
revision="839940f27f25c2dafaa5b2ec934c2dd6b80903e8"
Fixed #20933 -- Allowed loaddata to load fixtures from relative paths.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/20933#comment:11>