Michael, why don't change the 'Column' class values to *nullable =
False, default=''* ?

After of reading the down articles I think that set NULL to False by
default will avoid possible errors to many people.

NULL means something is unknown. [1]

"NULL needs to be used with prudence and with care. Just because the
database supports the use of NULL doesn’t mean that you should design
for NULL. Rather, a good design will prevent the overuse of  NULL.
Although I said that a good implementation will prevent uncertainty of
NULL, it is important to note that NULL can be ambiguous and cause
uncertainty if used improperly." [2]

It looks enought logical the Django's position respect to NULL [3]:

"Default is False.

Note that empty string values will always get stored as empty strings,
not as NULL. Only use null=True for non-string fields such as
integers, booleans and dates.

Avoid using null on string-based fields unless you have an excellent
reason. If a string-based field has null=True, that means it has two
possible values for “no data”: NULL, and the empty string. In most
cases, it’s redundant to have two possible"


[1] http://www.databasedesign-resource.com/null-values-in-a-database.html

[2] http://sqlfight.com/blogs/mystery_blogger/pages/is-null-so-bad.aspx

[3] http://www.djangoproject.com/documentation/model-api/#null

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to