Somehow googlegroups ate my comment. Second try.
Overall comment: "removing magic" is a bit irritating if you actually
just exchange it for other magic (like query objects) ;-)
>Please comment here rather than on the wiki.
Two dislikes:
1) I'd prefer "manager = PersonManager('name_of_manager_attribute')
over the "an attribute named objects will magically turn into objects_"
- the default for the name should be 'objects', but if there already is
an attribute named that, the validator should barf. And the user would
just have to add a name to give to the manager attribute.
2) I really, really dislike the
Person.objects.get_list(Person.q.first_name == 'Adrian') - it a)
doesn't look any better or more concise than
Person.objects.get_list(first_name__exact='Adrian) and I especially
dislike the repetition of Person - did you look at #980? A much nicer
approach for the same problem, and it takes up with combined queries,
joins and other stuff by making it look more like handling of Python
objects and sequences - which is what ORMs are about.
The Person.q.somefield really bugs me. Will it be allowed/needed to do
Person.objects.get_list(Otherclass.q.field == 'icky')? If not, this
really breaks DRY - I already call a method on Person, there shouldn't
be a need to repeat that in the field. It might be ok for those fields
that are referenced from some other table, but the fields for my own
table shouldn't need that.
bye, Georg