Django NameError: имя 'модель' не определено - PullRequest
1 голос
/ 11 марта 2019

Я изменяю существующее приложение, чтобы немного расширить сценарий использования.Я уже создал новую модель и немного изменил вид и шаблон.Теперь я хочу запустить миграцию, но продолжаю получать NameError, и поиск в Google не предоставил мне гораздо больше информации, тем более что я добавляю что-то в работающее приложение, а не создаю что-то с нуля.Кто-нибудь может мне помочь?

Я добавил следующую строку в admin.py: admin.site.register (InputData)

ошибка:

C:\var\www\SYSTEM>python manage.py makemigrations
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\management\__init__.py", line 357, in execute
    django.setup()
  File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\apps\registry.py", line 120, in populate
    app_config.ready()
  File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\contrib\admin\apps.py", line 24, in ready
    self.module.autodiscover()
  File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\contrib\admin\__init__.py", line 26, in autodiscover
    autodiscover_modules('admin', register_to=site)
  File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\utils\module_loading.py", line 47, in autodiscover_modules
    import_module('%s.%s' % (app_config.name, module_to_search))
  File "C:\Users\user\AppData\Local\Programs\Python\Python37-32\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\var\www\SYSTEM\System\service_development\admin.py", line 201, in <module>
    admin.site.register(InputData)
NameError: name 'InputData' is not defined

РЕДАКТИРОВАТЬ: я решил это сам.Оказывается, там был файл 'init', в котором нужно было ссылаться на все модели, чтобы использовать их в Admin.

Ответы [ 2 ]

3 голосов
/ 11 марта 2019

Скорее всего, это означает, что вы не импортируете «InputData» в свой файл admin.py.

1 голос
/ 11 марта 2019

Последние две строки вашей ошибки дают мне представление о том, что вы, возможно, забыли импортировать класс 'InputData' в файл admin.py.

File "C:\var\www\SYSTEM\System\service_development\admin.py", line 201, in <module>
    admin.site.register(InputData)
NameError: name 'InputData' is not defined

Импортировать класс 'InputData' в файл admin.py иты хорош идти :) 1004 *

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