I'm trying to implement something like Rails dynamic-finders in Python (for
webapp/GAE). The dynamic finders work like this:
- Your Person has some fields: name, age and email.
- Suppose you want to find all the users whose name is "Robot".
The Person class has a method called "find_by_name" that receives the name
and returns the result of the query:
@classmethod
def find_by_name(cls, name):
return Person.gql("WHERE name = :1", name).get()
Instead of having to write a method like that for each attribute, I'd like to
have something like Ruby's method_missing that allows me to do it.
So far I've seen these 2 blog posts: http://blog.iffy.us/?p=43 and
http://www.whatspop.com/blog/2008/08/method-missing-in-python.cfm but I'd
like to hear what's the "most appropiate" way of doing it.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…