为什么以下示例都不起作用?
class Person(ndb.Model):
first_name = ndb.StringProperty()
last_name = ndb.StringProperty()
city = ndb.StringProperty()
birth_year = ndb.IntegerProperty()
height = ndb.IntegerProperty()
@classmethod
def get_person(self, _last_name, _max_height):
a_person = Person.query(
ndb.AND(
Person.last_name == _last_name,
Person. height == _max_height
))
return a_person
另一个示例替换Person
为self
:
@classmethod
def get_person(self, _last_name, _max_height):
a_person = self.query(
ndb.AND(
self.last_name == _last_name,
self. height == _max_height
))
return a_person
所以基本上我希望能够调用该get_person
方法last_name
并max_height
让它返回一个人(假设只有一个匹配项)。我该如何做到这一点?
调用类/对象有以下几行:
my_person = Person.get_person('Doe',7)
if my_person.first_name is None:
my_person.first_name = 'John'
但是代码失败说my_person
没有属性first_name
(或我尝试的任何其他属性)。