Thanks for the advice !
Everhting seems to work fine now.
Only when I enter s.id it return nothing and when I print s.id it
returns None. Guess that's normal since the s-object hasn't been saved
yet ?

On Aug 30, 7:13 pm, Malcolm Tredinnick <[EMAIL PROTECTED]>
wrote:
> On Sat, 2008-08-30 at 06:56 -0700, eniac wrote:
> > Hello,
>
> > I'm using django 0.96.1 on ubuntu.
> > I'm going to describe the steps I went through until I encountered
> > something odd.
>
> > I create a model:
>
> > class shoutbox(models.Model):
> >         name = models.CharField(maxlength=15)
> >         shout = models.CharField(maxlength=256)
> >         pub_date = models.DateTimeField()
>
> > Next I sync with my database which is mysql using manage.py syncdb.
>
> > Then I enter the manage.py shell to test it out
>
> > In [1]: from thisSite.shoutbox.models import shoutbox
> > In [4]: s = shoutbox('jonas', 'bla enzo', datetime.now())
>
> > untill here everhting works fine
> > then I want to check on the id of s and here is what it returns
> > In [5]: s.id
> > Out[5]: 'jonas'
>
> > so I add an other param, like 1 and it works fine, seems like none
> > doesn't get accepted.
> > What should I do ? Is this a bug ? Did I do something wrong ? I don't
> > want to hardcode every id when I enter some new data to my tables.
>
> It's not a bug. You are assuming that you can pass position arguments to
> your model (which would be true if the only arguments taken by __init__
> were the fields you declared). This isn't true, since are some implicit
> fields created by Django: for example, the automatic primary key field
> "id". That's why none of the examples in the documentation use
> positional arguments.
>
> So you should always use keyword arguments when initialising a model:
>
>         shoutbox(name='jonas', shout='...', pub_date='...')
>
> or
>
>         data = {'name': 'jonas', 'shout': '...', 'pub_date': '...'}
>         s = shoutbox(**data)
>
> Regards,
> Malcolm
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to