次の例のどちらも機能しないのはなぜですか?
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_namemax_height
呼び出しクラス/オブジェクトには次の行があります。
my_person = Person.get_person('Doe',7)
if my_person.first_name is None:
my_person.first_name = 'John'
しかし、コードmy_personは属性を持っていないと言って失敗しますfirst_name(または私が試した他の属性は何でも)。