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 如何让我的管理员条目自动填写DateTime字段?_Django - Fatal编程技术网

Django 如何让我的管理员条目自动填写DateTime字段?

Django 如何让我的管理员条目自动填写DateTime字段?,django,Django,我为我的条目添加了一个date_字段,在填写这些条目时,点击日期和时间会让人沮丧。我希望这一切发生在幕后,我甚至不希望这些事情出现 我在谷歌上搜索过,尝试过搜索,但在保存表单时找不到如何实现这一点的片段 以下是admin.py中的相关内容: 我知道我可能必须指定exclude='date_added',并定义一个def save函数,但我不确定这需要什么细节 我希望这一切发生在幕后,我甚至不希望这些事情出现 最好的方法是编辑模型并设置“添加日期”字段。这假定您有权编辑模型。你可以这样做: cla

我为我的条目添加了一个date_字段,在填写这些条目时,点击日期和时间会让人沮丧。我希望这一切发生在幕后,我甚至不希望这些事情出现

我在谷歌上搜索过,尝试过搜索,但在保存表单时找不到如何实现这一点的片段

以下是admin.py中的相关内容:

我知道我可能必须指定exclude='date_added',并定义一个def save函数,但我不确定这需要什么细节

我希望这一切发生在幕后,我甚至不希望这些事情出现

最好的方法是编辑模型并设置“添加日期”字段。这假定您有权编辑模型。你可以这样做:

class Bug(models.Model):
    ...
    date_added = models.DateTimeField(auto_now_add=True)
这将解决您的两个问题:它将自动填写日期时间,并且不会显示在管理应用程序中。从文档中:

首次创建对象时自动将字段设置为“现在”。用于创建时间戳。请注意,始终使用当前日期;它不仅仅是一个可以覆盖的默认值

我想指出的是,有一个补充,你可以用来跟踪更新。设置auto_now=True对于日期更新字段(如果有)非常有用

我希望这一切发生在幕后,我甚至不希望这些事情出现

最好的方法是编辑模型并设置“添加日期”字段。这假定您有权编辑模型。你可以这样做:

class Bug(models.Model):
    ...
    date_added = models.DateTimeField(auto_now_add=True)
这将解决您的两个问题:它将自动填写日期时间,并且不会显示在管理应用程序中。从文档中:

首次创建对象时自动将字段设置为“现在”。用于创建时间戳。请注意,始终使用当前日期;它不仅仅是一个可以覆盖的默认值


我想指出的是,有一个补充,你可以用来跟踪更新。设置auto_now=True对于日期更新字段(如果有)非常有用

通常情况下,我建议使用default=datetime.datetime.now而不是auto\u now\u add,但由于OP根本不希望该字段出现,因此后者是这次的正确解决方案。@Daniel:默认情况下不是从Python获得时间吗,auto_now_add案例告诉数据库使用SQL now函数获取时间?通常我建议默认值=datetime.datetime.now而不是auto_now_add,但是由于OP根本不想显示该字段,因此后者是这次正确的解决方案。@Daniel:默认案例不是从Python获取时间,auto_now_add案例告诉数据库使用SQL now函数获取时间?