Python datetime случайно разбивает - PullRequest
3 голосов
/ 27 сентября 2011

Это не первый раз, когда это случается со мной, так что теперь я ищу ответ, потому что я полностью в замешательстве.

У меня есть код, работающий в производственной среде более 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:

>>> import datetime
>>> datetime.date.today()
>>> datetime.date(2011, 9, 27)

Ответы [ 2 ]

6 голосов
/ 27 сентября 2011

Ваш код импортирует 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'
4 голосов
/ 27 сентября 2011
--> 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 для этой цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...