这不是第一次发生在我身上,所以现在我正在寻找答案,因为我完全被难倒了。
我现在已经在生产环境中运行了3个多月的代码,并且它运行得非常好,然后我开始在python中出现错误。
'method_descriptor' object has no attribute 'today'
Exception Value:
'method_descriptor' object has no attribute 'today'
Exception Location: /admin/views/create.py in process, line 114
/admin/views/create.py in process
order = Orders(uid=0, accepted=0, canview='', files=0, date=datetime.date.today(), due=dueDate,
正如您所看到的,我正在使用以下内容,它在python shell中运行得非常好:
>>> import datetime
>>> datetime.date.today()
>>> datetime.date(2011, 9, 27)
答案 0 :(得分:6)
您的代码正在某处导入datetime.datetime
,而不仅仅是datetime
,例如from datetime import datetime
。
>>> import datetime
>>> datetime.datetime.date.today()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'method_descriptor' object has no attribute 'today'
答案 1 :(得分:4)
--> from datetime import datetime
--> datetime.date.today()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'method_descriptor' object has no attribute 'today'
您的datetime
导入被后续导入覆盖,或者其他一些代码正在为您的模块注入不同的datetime
。
<强>更新强>
from ... import *
意味着使用...
中的任何内容填充当前命名空间 - 根本不奇怪。据推测,出于这个目的,你可以在admin.helpers.functions
中拥有这些功能。