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


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@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-developers
-~----------~----~----~----~------~----~------~--~---

Reply via email to