这是我的模型
class Extra(models.Model):
user = models.ForeignKey(User)
timestamp = models.DateTimeField(null=True, blank=True)
我的观点是
^{pr2}$我试图在用户请求特定页面时保存日期时间。在
如您所见,如果关于用户的数据已经存在于数据库中,那么当用户请求页面时,我会更新它,否则我将为该用户创建一个新实例。在
但这不是一个好方法,因为它更新的是整个数据库,而不仅仅是与请求.用户正如我们在我们的视野中看到的(我猜是第四行)。在
那么,我如何使用变量“new”,因为它已经保存了数据(如果存在)&update请求.用户数据库中的实例?在
请用这个代码帮我。提前感谢:)
我不确定这是否能解决你的问题,但也许这可以帮助你达到你想去的地方。 在我的应用程序中,我要么插入带有“created”时间戳的记录,要么使用“updated”时间戳更新现有记录,具体取决于该记录是否已经存在。如果我正确地理解了你的问题,那么它就不完全一样了,但我认为它已经足够接近了,可以给你一些工作上的东西。在
所以我要做的是重写类中的标准save方法。因为我对所有表上的所有记录都是这样做的,所以我在基类中也做过,但是你可以很容易地在你需要的类上这样做。在
看看你的课,我会添加如下内容:
基本上,它要做的是拦截对数据库的save调用,检查记录是否是新的,处理需要处理的内容,然后使用return语句将记录发送到数据库。在
正如我所说,这也许不能解决你的问题,但希望能有所帮助。在
祝你好运。在
只需在过滤后的查询集中调用
update()
。你就快到了:)在Django Docs中也有一个类似的例子。在
相关问题 更多 >
编程相关推荐