Джанго говорит, что моя модель не определена

Поэтому я разрабатываю проект с использованием Django, и я пытаюсь создать несколько отношений между некоторыми моделями, такими как User и Country. Когда я пытаюсь синхронизировать мои консольные выходы, «Имя страны не определено». Проверьте код:

class User(models.Model): name = models.CharField(max_length=50,null=False) email = models.EmailField(max_length=50,null=False) password = models.CharField(max_length=10,null=False) country = models.ForeignKey(Country,null=False) #error here rol = models.ForeignKey(Rol,null=False) job = models.ManyToManyField(Job) #UserxJob skill = models.ManyToManyField(Skill) #UserxSkill plan = models.ManyToManyField(Plan) #UserxPlan image = models.ForeignKey(Image) description = models.TextField(max_length=300) website = models.URLField(max_length=100,null=True) def __unicode__(self): return self.name class Country(models.Model): name = models.CharField(max_length=50,null=False) def __unicode__(self): return self.name 

Не могли бы вы помочь мне с этим?

2 Solutions collect form web for “Джанго говорит, что моя модель не определена”

Либо переместите определение класса Country над указанным User в файле

ИЛИ

В модели User обновите country атрибута, чтобы:

 country = models.ForeignKey('Country',null=False) 

Документацию по этому вопросу можно найти здесь

Вам необходимо переместить определение страны выше определения пользователя.

Происходит компилятор (при компиляции в .pyc-байтовый код) компилирует определение класса для пользователя и видит ссылку на объект типа Country. Компилятор еще не видел этого определения и не знает, что это такое, поэтому ошибка его не определена.

Итак, основное эмпирическое правило -> Все нужно определить, прежде чем звонить или ссылаться на него

  • Scrapy Shell и Scrapy Splash
  • Команда Scrapyd-deploy не найдена после установки scrapyd
  • Сжатая веб-страница с помощью PyQt
  • Как очистить весь контент каждой ссылки с помощью scrapy?
  • Извлечение текста между тегами с помощью BeautifulSoup
  • Как сгенерировать сброс соединения программно?
  • Selenium - Python - выпадающее меню
  • Скрученная ошибка Python - проблемы с скрипом
  • Python - лучший язык программирования в мире.