On Feb 4, 2010, at 7:34 AM, mdipierro wrote: > Mind that currently zero='' should be interpreted as zero='(please > choose a value)'. the value '' is not in the db and will not pass > validation. It s just a place holder. Only if > IS_NULL_OR(IS_IN_DB(...zero='')) then the value '' can pass > validation.
Right, and it's a very useful mode. I think I see (vaguely) the source of the tension. zero='' is the most natural behavior for many (most?) forms, from a UI logic point of view. zero=None is the most natural logic from the POV of data access: it gives us the list that actually is in the set/db, and nothing more. I don't think that either flavor of naturalness is "most natural". Which is why I don't care that much how it goes; I'll probably adopt a practice of coding it explicitly regardless. So you can count me as neutral if you like. BTW, an off-topic question: is there a straightforward way to prepopulate a form with an existing database row? I know, I should RTFM.... > > On Feb 4, 9:25 am, Jonathan Lundell <jlund...@pobox.com> wrote: >> On Feb 4, 2010, at 7:08 AM, mdipierro wrote: >> >>> I do not really have an opinion on this. I am only reluctant to >>> changes in behavior. >>> Anyway, I am prepared to make this change (zero=None by default). I >>> would like to know that all major contributors are on board so that >>> you can answer the emails when users complain instead of me. ;-) >> >>> Anybody who has an opinion about this should post here or email me >>> personally. >> >> I prefer zero=None as the default, on the grounds that it seems more logical >> for the default case to not include items that aren't actually in the >> database. Least surprise. >> >> OTOH, it's not a high priority for me, since it's easy enough to override >> either way. >> >> >> >>> Executive Summery: >> >>> There is a proposal to default IS_IN_SET(zero=None) and >>> IS_IN_DB(zero=None) so that dropdown select option NO LONGER will have >>> a default black option. Currently, by default, when you create a new >>> record the blank option is selected and, if you do not change it and >>> if you do not allow IS_NULL, you get an error message. With the >>> proposed change, when you create a new record all select/options will >>> - by default - select the first alphabetical value unless you change >>> it. >> >> > > -- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To post to this group, send email to web...@googlegroups.com. > To unsubscribe from this group, send email to > web2py+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/web2py?hl=en. > -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.