Я пытаюсь создать функцию голосования, которая увеличивает класс URL.votes +1 при нажатии. Это вопрос с двумя частями:Сделка по объекту объекта GAE
Как вы тянете ключ сущности? (Мне кажется, вам нужен ключ, чтобы отличить, какое свойство голосования изменяется?)
Как вы тогда пишете 'a href' для ссылки для голосования?
Спасибо!
Модели:
класс URL (db.Model):
user = db.ReferenceProperty(User)
website = db.StringProperty()
created = db.DateTimeProperty(auto_now=True)
votes = db.IntegerProperty(default=1)
класс Vote (db.Model):
user = db.ReferenceProperty(User) #See if voted on this site yet
url = db.ReferenceProperty(URL) #To apply vote to right URL
upvote = db.IntegerProperty(default=1)
created = db.DateTimeProperty(auto_now=True)
Контроллер
класс VoteHandler (webapp.RequestHandler):
def get(self):
doRender(self, 'base/index.html')
def post(self):
#See if logged in
self.Session = Session()
if not 'userkey' in self.Session:
doRender(
self,
'/',
{'error' : 'Please login to vote'})
return
#Get current vote total
url = db.URL.get() #pull current site. This is where I think I need the help
url.votes += 1 #pull current site vote total & add 1
url.put();
logging.info('Adding a vote'+nurl)
#Create a new Vote object
newvote = models.Vote(user=self.Session['userkey'], url=url)
newvote.put();
self.get();
self.redirect('/', { })
Посмотреть
A HREF = "/ голос" {{}} url.votes голосов - {{}} url.website
ок большое спасибо – Emile