我在我的django项目(实际上是游戏)的每一个动作中都做了一个Save,而我想要做的就是在每个新的"点击"中获取我保存在数据库中的最新数据。
onload
问题在于我不知道如何正确阅读上一步动作。
答案 0 :(得分:1)
首先,您可能希望将模型从Save重命名为其他内容,因为它会使您的代码更容易理解。(Django模型已经内置了save()方法)
处理此问题的一种方法是覆盖模型的save()方法。在这种情况下,您需要最后一条记录而不是last-1,因为当前记录尚未在数据库中。
确保您的模型存储最后一次移动的日期和时间,以便您可以准确跟踪移动。
from datetime import datetime
class Yourmodel(models.Model):
modified = models.DateTimeField()
def save(self, *args, **kwargs):
''' On save, update timestamps '''
self.modified = datetime.now()
#Get the last object, current object havent inserted to db yet.
lastmove = Yourmodel.objects.latest('modified')
#do something to your lastmove.myfield here
#you can access the current myfield using self.myfield
return super(Yourmodel, self).save(*args, **kwargs)
答案 1 :(得分:0)