【问题标题】:Django AttributeError: type object 'datetime.datetime' has no attribute 'datetime' [duplicate]Django AttributeError:类型对象'datetime.datetime'没有属性'datetime'[​​重复]
【发布时间】:2018-12-17 11:11:24
【问题描述】:

我需要一些有关此 python 代码的帮助,我正在尝试根据用户输入生成一些时间数据,但我不断收到错误消息:

AttributeError: type object 'datetime.datetime' has no attribute 'datetime'

我尝试了几种导入语句,例如: from datetime import datetime, timedelta 还有import datetime,但错误仍然存​​在。请帮忙,因为我无法理解这一点。

def generate_time_slots(available_from, available_to):
    entry = []
    while available_from <= available_to:
        available_from = datetime(available_from).time() + datetime.timedelta(minutes=10).time()

        entry.append(doctor_id = '1', date = '2018-07-11', avalable_slots= available_from,)
        for x in entry:
            Slots.objects.bulk_create(entry)

【问题讨论】:

  • 这类问题的数量证明了这个库的名字有多糟糕......
  • 是的,我阅读了这些答案,但我仍然完全理解,直到 nosklo 在下面给出他的解释。对不起,如果你被我的问题冒犯了。但有时你只需要别人用不同的词组来解释。
  • 你的问题我一点也不生气。但请记住@nosklo 将其标记为重复是有原因的。我知道有时您从某些人的解释中可以更好地理解。但我几乎不相信你在 Stack 上找不到关于这个特定问题的任何解释,因为这个错误已经有几个线程(包括重复,答案与接受的答案几乎相同)。以后谷歌一下,这是一种很好的做法。

标签: python django datetime


【解决方案1】:

您使用了from datetime import datetime,这意味着您的datetime 名称已经指向datetime.datetime。如果你尝试访问datetime.datetime,你最终会访问到不存在的datetime.datetime.datetime

你应该只使用import datetime,而在你的代码中使用datetime.datetimedatetime.timedelta,但是如果你仍然想使用from datetime import datetime, timedelta,你必须在你的代码中更改所有datetime.datetimes只有datetimedatetime.timedelta 只能说timedelta

【讨论】:

  • 感谢您的解释比我在 stackoverflow 上看到的许多其他解释清楚得多,它有助于解决我的问题。
猜你喜欢
  • 1970-01-01
  • 2012-10-06
  • 1970-01-01
  • 1970-01-01
  • 2023-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
相关资源
最近更新 更多