次の例のどちらも機能しないのはなぜですか?
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
したがって、基本的にはandを使用してget_person
メソッドを呼び出し、人を返すようにしたいと考えています(一致が 1 つしかないと仮定します)。どうすればそれを達成できますか?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
(または私が試した他の属性は何でも)。