django datetimefield:__str__ 给出与管理员显示不同的时间
django datetimefield: __str__ give different time from admin display
我正在尝试设置 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 这样的时间。但是,如果我按图片进入条目,则会显示"Oct. 27, 2017, 3:28 p.m."。
enter image description here
enter image description here
你覆盖的方法__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"
我正在尝试设置 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 这样的时间。但是,如果我按图片进入条目,则会显示"Oct. 27, 2017, 3:28 p.m."。
enter image description here
enter image description here
你覆盖的方法__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"