gpt4 book ai didi

python - Django 模型没有将日期字段转换为 datetime.date?

转载 作者:行者123 更新时间:2023-12-01 00:09:43 25 4
gpt4 key购买 nike

让我们用 写一个简单的 Django 模型日期字段 :

class MyModel(models.Model):
my_date = models.DateField(null=True, blank=True)

我在创建对象时遇到了一个奇怪的问题:
m1 = MyModel.objects.create(my_date=date.today())
print(type(m1.my_date)) # => <class 'datetime.date'>

m2 = MyModel.objects.create(my_date="2020-01-14")
print(type(m2.my_date)) # => <class 'str'>

所以...与我在 doc of the Django DateField 中读到的相反(“一个日期,在 Python 中由 datetime.date 实例表示”),似乎 Django 没有将该值转换为 datetime.date实例是否在创建对象时将日期作为 str 提供?

最佳答案

字段不会主动将属性转换为某种类型。当您将其存储在数据库中时,它会将其转换为 date/datetime字段,稍后当您从数据库中检索它时,它将是 date/datetime field 。

确实,请看以下示例:

m2 = MyModel.objects.create(my_date="2020-01-14")
m3 = MyModel.objects.get(m2.pk)
print(type(m3.my_date)) # => <class 'datetime.date'>

关于python - Django 模型没有将日期字段转换为 datetime.date?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59735493/

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