Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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_Django Models_Date Formatting_Datefield - Fatal编程技术网

更改Django模型中的日期格式

更改Django模型中的日期格式,django,django-models,date-formatting,datefield,Django,Django Models,Date Formatting,Datefield,在django模型中,我有一个名为“birthdate”的日期字段和一个名为“lifespan”的属性 字段 birthdate = models.DateField(blank=True, null=True) 属性 @property def lifespan(self): return '%s - present' % self.birthdate 当前寿命以“yyyy-mm-dd”格式返回日期 如何将此日期格式更改为“mm/dd/yyyy” 我知道如何在带有过滤器的djang

在django模型中,我有一个名为“birthdate”的日期字段和一个名为“lifespan”的属性

字段

birthdate = models.DateField(blank=True, null=True)
属性

@property
def lifespan(self):
    return '%s - present' % self.birthdate
当前寿命以“yyyy-mm-dd”格式返回日期

如何将此日期格式更改为“mm/dd/yyyy”

我知道如何在带有过滤器的django模板中实现这一点,但我想看看是否有类似的“过滤器”可以在django模型中使用


我感谢您的反馈。

可能会覆盖管理员:

比如说,这个模型叫做Persondeail, 然后是admin.py

class PersonDetailAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.DateTimeField: {'input_formats': ('%m/%d/%Y',)},
    }
要完全控制,请使用:

strftime
没有Django的
date
过滤器所具有的所有格式选项,因此,如果需要其中一个选项,可以将过滤器作为函数调用:

from django.template.defaultfilters import date

@property
def lifespan(self):
    return '%s - present' % date(self.birthdate, "n/j/Y")

这将省略前导零,并允许您使用
DATE\u格式
设置变量或其他预定义选项。

这会影响管理员理解的输入格式,但字段仍将存储为日期或日期时间,并在插入字符串时使用隐含的
str
呈现。明白了。我曾在表单字段中使用过类似的东西,并认为它会起作用。谢谢
from django.template.defaultfilters import date

@property
def lifespan(self):
    return '%s - present' % date(self.birthdate, "n/j/Y")