I think you need to be using 'fixtures' for this purpose.
http://www.djangoproject.com/documentation/models/fixtures/
e.g. I have an application called common, so I created a xml file
called 'initial_data.xml' in the directory:
apps\common\fixtures
the initial_data.xml looks like:
<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
<object pk="1" model="common.challengequestion">
<field type="CharField" name="question">yada yada yada</field>
</object>
...
</django-objects>
Then when you do python manage.py syncdb, it automatically loads this
data...
Jim
On Dec 13, 3:14 pm, "Tane Piper" <[EMAIL PROTECTED]>
wrote:
> Ok, I've modified this slightly, however still cannot get this to
> work. To test it, I put a print statement at the top of the function
> and called syncdb, and sure enough the function was being called 8
> times!
>
> So, I modified it so each import is a function, and each has it's own
> dispatcher with a sender (being IssueType, IssueSeverity and
> IssueStatus) - however when the models are created they don't get
> called. Take the sender away and each function gets called 8 times -
> very strange.
>
> Can anyone help?????
>
> On 13/12/2007, Tane Piper <[EMAIL PROTECTED]> wrote:
>
>
>
> > Hi folks,
>
> > In our app, we're building a simple Issue list app, and within the app
> > we want to add some basic entries for issue type, issue status and
> > issue severity. Within our /issue directory, I have created a
> > management.py file and added this:
>
> > from django.dispatch import dispatcher
> > from django.db.models import signals
>
> > from hgfront.issue.models import *
>
> > def init_issues_database():
> > """This injects the database with default values for issues"""
> > issue_types = (
> > ('Bug', 0),
> > ('Enhancment', 1),
> > ('Feature Request', 2),
> > ('Typo', 3)
> > )
> > for issue in issue_types:
> > p = IssueType(title = issue[0], order=issue[1])
> > p.save()
>
> > sev_types = (
> > ('Minor', 0),
> > ('Medium', 1),
> > ('Major', 2),
> > ('Critical', 3),
> > ('Blocker', 4)
> > )
> > for sev in sev_types:
> > s = IssueSeverity(title = sev[0], order=sev[1])
> > s.save()
>
> > status_types = (
> > ('Raised', 0),
> > ('Accepted', 1),
> > ('Not Accepted', 2),
> > ('Fixed', 3),
> > ('Works For Me', 4)
> > )
> > for status in status_types:
> > t = IssueStatus(title = status[0], order=status[1])
> > t.save()
>
> > dispatcher.connect(init_issues_database, signal=signals.post_syncdb)
>
> > The problem is, when I do syncdb, the items do get added to the
> > database, but for issue_types instead of just 4 entries, 36 entries go
> > in. For sev_types and status_types 40 entries go in each instead of
> > 5. From what I can work out, it seems to be looping and adding a full
> > entry for each item within the tuples.
>
> > Cannot work this one out at all so either - a) it's a bug or b) we're
> > using management.py wrong, and if so can anyone please point us in the
> > right direction and I can't find any docs on it.
>
> > --
> > Tane Piper
> > Blog -http://digitalspaghetti.me.uk
> > AJAX Pastebin -http://pastemonkey.org
>
> > This email is: [ ] blogable [ x ] ask first [ ] private
>
> --
> Tane Piper
> Blog -http://digitalspaghetti.me.uk
> AJAX Pastebin -http://pastemonkey.org
>
> This email is: [ ] blogable [ x ] ask first [ ] private
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---