Импортированные объекты доступны в модели, но не в методе модели - PullRequest
0 голосов
/ 11 февраля 2011

В моем файле моделей модели могут получать доступ к импортированным элементам из самой модели (как и ожидалось), но не из методов модели.Например:

from django.db import models
from datetime import datetime

foo1 = datetime.now() # this assigns successfully

class ServiceEventManager(models.Manager):
    foo2 = datetime.now() # this assigns successfully

    def getCurrentEvents(self, state_type=None):
        foo3 = datetime.now() # this fails with 'NoneType' object has no attribute 'now'

        from datetime import datetime as datetime2
        foo4 = datetime2.now() # this assigns successfully
    ....

Эта проблема также влияет на модели, наследуемые от моделей. Модель (выше - модели. Менеджер), и помимо импортированных элементов (например, datetime), методы модели выдают ошибку «NoneType»когда они ссылаются на другие модели или функции, локальные по отношению к файлу моделей.

Эта проблема несколько странная, поскольку (а) она влияет только на файл моделей (в файле форм я могу ссылаться на импортированные функциив методах класса), и (b) это влияет только на веб-сессии (когда я тестирую модели из командной строки, проблем нет.)

Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 11 февраля 2011

Найдите в своем коде / модели что-то, что выполняет 'datetime = None' или 'datetime = кое-что_that_returns_None ()'

...