gpt4 book ai didi

python - Django 模型 DateField to_python

转载 作者:行者123 更新时间:2023-12-01 05:59:57 26 4
gpt4 key购买 nike

我正在开发 Django 1.4,我有以下疑问。在 Django Admin 上解析日期之间时,格式应采用“%Y-%m-%d”格式。我刚刚检查了代码,django 模型 DateField 没有使用设置来检查“to_python”的有效日期。

对于 examplemaple,目前唯一有效的格式是:

&fecha_inicio__lte=2012-06-10

但我也想要这样:

&fecha_inicio__lte=06/10/2012

最佳答案

您可以使用此函数来转换日期:

import re

def parse_slash_date(value):
m = re.match(r'^(?P<day>[0-9]{1,2})/(?P<month>[0-9]{1,2})/(?P<year>[0-9]{4})$', value)
if m:
return '%s-%s-%s' % (
m.group('year'), m.group('month'), m.group('day'))

示例:

In [4]: parse_slash_date('06/10/2012')
Out[4]: '2012-10-06'

您还可以创建一个使用解析器的 DateField:

class YourDateField(models.DateField):
def get_prep_lookup(self, lookup_type, value):
if value and '/' in value:
value = parse_slash_date(value)
return super(YourDateField, self).get_prep_lookup(
lookup_type, value)

但是,我非常确定 DateField 已经能够解析带有斜杠的日期...但我刚刚阅读了 django.utils.dateparse.parse_date 的代码,但它不能。

关于python - Django 模型 DateField to_python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10973748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com