On 3/13/06, Gábor Farkas <[EMAIL PROTECTED]> wrote:
>
> Adrian Holovaty wrote:
> >
> > EXAMPLE CODE:
> >
> > class Person(models.Model):
> >     name = models.CharField(maxlength=50)
> >     birthday = models.DateField()
> >     favorite_number = models.IntegerField()
> >
> >>>> p = Person(name='Joe', birthday='never', favorite_number='foo')
> >>>> p.validate()
> > {'birthday': 'Enter a valid date in YYYY-MM-DD format.',
> > 'favorite_number': 'This value must be an integer.'}
> >>>> p = Person(name='Joe', birthday='2005-1-3', favorite_number='34')
> >>>> p.validate()
> > {}
> >>>> p.birthday
> > datetime.date(2005, 1, 3)
> >>>> p.favorite_number # note this is an integer now, no longer a string
> > 34
> >
> >
> > Thoughts, criticisms? The only part I'm sketchy on is the side effect
> > of converting the values to their Python data types. The
> > cleanliness/consistency is quite nice, but it's slightly not something
> > a developer might expect. However, we can solve the latter through
> > clear documentation.
>
>  >>> p1 = Person(name='Joe', birthday='2005-1-3', favorite_number='foo')
>  >>> p2 = Person(name='Jack', birthday = datetime.date(2005,1,3),
> favorite_number='foo')
>  >>> p1.birthday == p2.birthday
> False
>
> i don't know. i understand that this would make life easier, but on the
> other hand, it does not feel good for me :) some points:
>
> - explicit is better than implicit
> - we're removing the magic there or adding it back? :-)
> - does this not tie too much the web-layer to the db-layer?
>
> basically.. what does the developer win with the auto-conversion?
> perharps some use-case scenarios would help to explain it to us...
>
> summary:
> it's a very cool change. i'm just not sure about the auto-conversion part.
>
>
> gabor
>

-1 I agree with gabor. Many orm models don't process validation, and
these things should be implemented by manipulator. Why do so much
things in model?

--
I like python!
My Blog: http://www.donews.net/limodou
NewEdit Maillist: http://groups.google.com/group/NewEdit

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" 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-developers
-~----------~----~----~----~------~----~------~--~---

Reply via email to