Проверьте, существует ли сущность в хранилище данных в GAE Python
Я пытаюсь создать (что-то вроде) генератор номеров счетов. Но, поскольку счета-фактуры могут быть равны нулю или больше при открытии бизнеса, Как узнать, существует ли объект?
query = "SELECT loanNumber FROM Loans ORDER BY loanNumber DESC LIMIT 1"
loanNumbers = db.GqlQuery(query)
result = loanNumbers.get()
# for loanNumber in loanNumbers:
if loanNumbers is None:
print "Print the first number"
else:
print "Print the next number"
Ошибка
KindError: No implementation for kind 'Loans'
1 ответ:
Теперь есть некоторые хорошие вспомогательные функции метаданных, задокументированные здесь: https://developers.google.com/appengine/docs/python/datastore/metadataentityclasses#get_kinds
Вот пример проверки на
Loans
перед продолжением запроса и остальной части кода:Обратите внимание, чтоfrom google.appengine.ext.db import metadata my_kinds = metadata.get_kinds() # Returns a list of entity kind names. if u'Loans' in my_kinds: ...
my_kinds
не будет содержатьLoans
до тех пор, пока кредитная сущность не будет фактически создана.
Если вам требуется больше контроля, или вы предпочитаете свернуть свою собственную вспомогательную функцию, есть примеры этого здесь: https://developers.google.com/appengine/docs/python/datastore/metadataqueries#Kind_Queries