On Friday, December 16, 2011 12:45:12 AM UTC-5, Brian Will wrote:
>
> Something like:
>
>      (db.mytable.id == 3).ignore_common_filters().select()
>
A bit ugly, and gets worse if we add more arguments in the future.
 

> Or:
>
>      (db.mytable.id == 3).select(ignore_common_filters=True)
>
Not ideal if the argument properly belongs to the query. Now you've got to 
add that argument to all the Set methods that deal with the query. Easier 
and more straightforward to make it an argument of Set.

At the very least, the docs should be updated to point out that Set is
> a legacy design mistake. As it is, learners will confuse themselves
> trying to justify its existence.
>
Given that Set allows the use of arguments that potentially modify the 
query, as noted above, I don't think we have to explain it as a design 
mistake. Perhaps simply explaining that fact will be sufficient to avoid 
confusion regarding why it exists.

Anthony
 

Reply via email to