管理站点中的 Django DateTimeField 编辑

Posted

技术标签:

【中文标题】管理站点中的 Django DateTimeField 编辑【英文标题】:Django DateTimeField editing in admin site 【发布时间】:2016-09-18 09:41:17 【问题描述】:

我在这样的模型中有一个 DateTimeField:

pickupTime = models.DateTimeField(default=datetime.now)

我可以在管理站点中创建模型条目,但是当我单击编辑它时,我收到错误:

'datetime.time' object has no attribute 'date'

我错过了什么?

【问题讨论】:

你能发布错误的完整堆栈跟踪吗? 【参考方案1】:

我将变量名称从“pickupTime”更改为另一个名称“日期”,然后在迁移后我可以在管理站点中编辑模型。我猜pickupTime 列有一些旧数据或阻止它显示在管理站点中的东西

【讨论】:

【参考方案2】:
    from django.utils import timezone
    .
    .
    .
    pickupTime = models.DateTimeField(default=timezone.now())

python datetime 和 django timezone 模块之间总是存在一些差异。尝试使用 Django 一个

【讨论】:

no no no,永远不要使用这样的代码,默认值将被评估一次 - 在第一个模块导入期间,而不是在每个模型实例化期间;为了安全起见,最好使用 auto_now_add=True

以上是关于管理站点中的 Django DateTimeField 编辑的主要内容,如果未能解决你的问题,请参考以下文章

ForeignKey 字段不会出现在 Django 管理站点中

如何从视图生成 Django 管理站点中特定项目的 url?

django:管理站点中模型的自定义名称

如何从 django 管理站点中删除更改密码链接?

在 Django 管理站点中,如何通过内联访问模型属性?

Django-cms:前端编辑器未同步到管理站点中的内容