2013-07-17 2 views
-2

У меня есть простой Джанго модель:Как добавить Джанго модели поля после определения

class Country(models.Model): 
    name=models.CharField(max_length=500) 
    iso_alpha3=models.CharField(max_length=3) 

Мне нужно добавить новое поле «default_city» после инициализации класса. Он уже добавлен в БД. Как это может быть сделано?

Спасибо заранее

UPD: Вот что я хочу:

class Country(models.Model): 
    name=models.CharField(max_length=500) 
    iso_alpha3=models.CharField(max_length=3) 
    default_city=VerboseForeignKey(City,display_fields=["name"]) 

class City(models.Model): 
    name=models.CharField(max_length=200) 
    country=VerboseForeignKey(Country,display_fields=["name"]) 

Но я не могу сделать это, потому что я получаю NameError: название «Город» не определен

+1

Что вы имеете в виду, "после инициализации"? Приведите пример. –

+0

Вы имеете в виду, что вы добавили столбец вручную в базу данных и теперь хотите получить доступ к этому столбцу из модели? –

+0

Вы имеете в виду, что «default_city» - это еще один столбец, который добавляется в таблицу страны, но его нет в модели. Теперь вы хотите добавить его в класс модели. Я прав? – sandeep

ответ

0

кажется что моя первоначальная проблема была в круговых внешних ключах, и подобные темы уже были отвечены.

Решение использовать кавычки для модели:

default_city=VerboseForeignKey('City',display_fields=["name"]) 

Похожие темы:

Django models.py Circular Foreign Key

Django App Dependency Cycle

Смежные вопросы