2015-01-29 12 views
0

Моя модель выглядит следующим образом:рекурсивное отношение в Django администратора

Class foo(model.Model): 
    name = models.CharField(...) 
    parent_foo = models.ForeignKey('self', blank = 'True') 

Далее, я зарегистрировал это в админ и пытался добавить некоторые через интерфейс администратора. Но ошибка:

IntegrityError at /admin/foo/add/ 
(1048, "Column 'foo_id' cannot be null") 

Изготовление

parent_foo = models.ForeignKey('self', blank='True', null='True') 

не помогло.

сделать просто:

parent_foo = models.ForeignKey('self') 

я не могу, потому что интерфейс администратора силы мне заполнить поле.

+0

ли вы перенести БД, чтобы отразить изменения? – allcaps

+0

Я бы предложил добавить ваши заявления на импорт к вопросам, если у вас возникли проблемы с моделями. Это может быть только я. – ivan7707

+0

@allcaps, я знаю, что это глупо, но я не переносил изменения, после того как я изменил код в своих моделях. Спасибо, парни. –

ответ

0

попробуйте изменить

Class foo(model.Model): 

в

Class foo(models.Model): 
+0

Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. –

+0

Как это не так? Если класс моделей не наследуется должным образом, это может вызвать проблему. – ivan7707

0

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

Помните, что ребята, всегда выполняйте миграцию и переноситесь после небольшого изменения ваших моделей. Не повторяйте мои ошибки.

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