Я пытаюсь создать функцию голосования, которая увеличивает класс URL.votes +1 при нажатии. Это вопрос из двух частей:
Как вы нажимаете ключ сущности? (Я думаю, вам нужен ключ, чтобы отличить, какое свойство голосования изменяется?)
Как вы тогда пишете 'href' для ссылки для проведения голосования?
Спасибо!
Модели:
URL класса (db.Model):
user = db.ReferenceProperty(User)
website = db.StringProperty()
created = db.DateTimeProperty(auto_now=True)
votes = db.IntegerProperty(default=1)
голосование класса (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('/', { })
View
a href = "/ voice" {{url.votes}} голосов - {{url.website}}