如何在打开模型的Django管理页面时编辑记录的值
在我的Django应用程序中,我有一个模型,它有一个如何在打开模型的Django管理页面时编辑记录的值,django,Django,在我的Django应用程序中,我有一个模型,它有一个整型字段,用于保存今天完成的查询数量,另一个字段保存该字段上次修改的日期 class logs(models.Model): today_queries = models.IntegerField("today's queries", default=0, help_text="Total number of today's queries.") update_date = models.DateField(default=date
整型字段
,用于保存今天完成的查询数量,另一个字段保存该字段上次修改的日期
class logs(models.Model):
today_queries = models.IntegerField("today's queries", default=0, help_text="Total number of today's queries.")
update_date = models.DateField(default=datetime.date.today)
我的问题是,每次我打开日志
模型的Django管理页面时,都会检索并显示today\u查询
的值(显然是默认行为),但如果明天或其他日子到来,该值将不正确(应该是0)
在打开
日志
模型的Django管理页面后,如何编辑今日查询
的值(以便将更新日期
与现在
进行比较,如果是新的一天,则重置今日查询
的值)您可以在模型管理员的更改视图
方法中执行此操作,检查此处的文档->
像这样的事情应该可以做到:
def change_view(self, request, obj_id):
instance = self.get_queryset(request).get(pk=obj_id)
instance.today_queries += 1
instance.save()
return super(YOUR_MODELADMIN, self).change_view(request, obj_id)
注意:应对此代码进行一些调整:)非常感谢,我已将其与您的代码一起运行,并根据需要进行了一些修改。Django方面唯一的抱怨是
obj_id
应该重命名为object_id
很乐意帮忙!是的,object_id是django source中建议的名称,很抱歉将其缩短!