Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在打开模型的Django管理页面时编辑记录的值_Django - Fatal编程技术网

如何在打开模型的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

在我的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=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中建议的名称,很抱歉将其缩短!