【问题标题】:AttributeError: 'datetime.date' object has no attribute 'tzinfo' Datetime DjangoAttributeError:'datetime.date'对象没有属性'tzinfo'Datetime Django
【发布时间】:2021-05-26 10:15:32
【问题描述】:

我在如何在我的模型中设置默认日期时遇到了麻烦,我的数据库中应该有的格式是 date 而不是 datetime 但我找到的主要资源是下面的代码,有什么方法可以设置我的模型过时了吗?提前致谢!

保存在数据库中的输出/格式应该是这样的

2020-11-24

Format of my date in sql

from datetime import datetime 
class Person(models.Model):
      date_upload = models.DateTimeField(default=datetime.now().strftime ("%Y-%m-%d"), blank=True)

【问题讨论】:

  • 你好@Macky 尝试像这样添加models.DateTimeField(auto_now_add=True)
  • 使用models.DateField

标签: python sql django


【解决方案1】:

你应该这样尝试:

from datetime import date 

class Person(models.Model):
        date_upload = models.DateTimeField(default=date.today(), blank=True)

【讨论】:

    【解决方案2】:

    如果您只想要数据库中的日期,而不需要时间,请使用DateField

    然后只需使用date.today 作为该字段的default。由于date.today 是可调用的,因此每次创建此模型的新实例时都会调用此方法。

    from datetime import date
    
    class Person(models.Model):
        date_upload = models.DateField(default=date.today, blank=True))
    

    您也可以只使用auto_nowauto_now_add 将其自动设置为今天:

        # Set on creation and additional saves
        date_upload = models.DateField(auto_now=True, blank=True))
    
        # Only set on creation
        date_upload = models.DateField(auto_now_add=True, blank=True))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-24
      • 2019-03-18
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-16
      相关资源
      最近更新 更多