У меня есть поздравительная модельQuery булево свойства в НБДЕ Python
class Greeting(ndb.Model):
author = ndb.StructuredProperty(Author)
content = ndb.TextProperty(indexed=False)
avatar = ndb.BlobProperty()
date = ndb.DateTimeProperty(auto_now_add=True)
public = ndb.BooleanProperty(default=False)
, в котором я использую следующий код для запроса семь постов Поздравительных на каждой странице в Python Google App Engine:
posts_query = Greeting.query(
ancestor=session_key(session_name)).order(-Greeting.date)
curs = Cursor(urlsafe=self.request.get('cursor'))
posts,next_curs, more = posts_query.fetch_page(7, start_cursor=curs)
I хотел, чтобы он показывал только сообщения, которые имеют общественное изменение в True, поэтому я изменил его на
posts_query = Greeting.query(
ancestor=session_key(session_name), Greeting.public == True).order(-Greeting.date) #line changed
curs = Cursor(urlsafe=self.request.get('cursor'))
posts,next_curs, more = posts_query.fetch_page(7, start_cursor=curs)
Однако, это дает мне ошибку:
File "/home/ralf/Desktop/google_projects/website/views/events.py", line 28
Greeting.public == True).order(-Greeting.date)
SyntaxError: non-keyword arg after keyword arg
Как это исправить? Каков соответствующий код для такого рода запросов? Помощь очень ценится.
P.S. Как вы можете видеть, я также использую курсор.
Я не уверен, что проблема связана с App Engine. Python не разрешает аргументы non keyword (positional) после аргументов ключевого слова. У вас есть позиционный аргумент «Greeting.content ==» test8 "" после аргумента ключевого слова "ancestor = session_key (session_name)", поэтому он недействителен python. – dyeray
@dyeray Извините, я собираюсь изменить свой вопрос. Это не строка ошибки, которая теперь отображается. –
@dyeray Там он обновлен. :) –