django datetimefield:__str__给出管理员显示的不同时间

时间:2017-10-27 22:59:37

标签: python django datetime strftime

我正在尝试设置 str ()以在管理网站中显示日期时间字段。但它给了我不同页面的不同时间。 代码就像:

class Order(models.Model):
    order_date = models.DateTimeField(auto_now_add = True,null=True)
    def __str__(self):
        return self.product.name + \
        " ordered on " + \
        str(self.order_date.strftime("%Y%m%d-%H:%M:%S"));

它在My_model列表中给出了像20171027-22:28:40的时间。然而," 10月。 2017年7月27日,下午3:28"如果我单击作为图片的条目,则显示。
enter image description here
enter image description here

1 个答案:

答案 0 :(得分:1)

您覆盖的方法__str__ 是一个完整的记录,而不是显示例如'Order:id'你定义的将要提取的表示。

所以,第一个解决方案是,您可以在 setting.py 文件中输入

from django.conf.locale.en import formats as en_formats
from django.conf.locale.fr import formats as fr_formats
#....

en_formats.DATETIME_FORMAT = "%Y-%m-%d-%H:%M:%S" 
fr_formats.DATETIME_FORMAT = "%Y-%m-%d-%H:%M:%S"