2014-02-19 4 views
0

Мне нужно работать с устаревшей базой данных и иметь следующую проблему. Моя модель имеет внешний ключ к модели пользователя:Внешнего ключа не существует. Показать запись в Admin

class History(models.Model): 
    uid = models.ForeignKey(User, to_field='username', db_column='uid') 

Это, кажется, работает. Проблема в том, что для некоторых записей в истории пользовательская запись больше не существует. Есть ли простое решение?

Приложение, похоже, отлично работает с ним. Единственная проблема заключается в интерфейсе администратора модели:

class HistoryAmdin(admin.ModelAdmin): 
    list_display = ('id', 'uid') 

В нем отображаются только записи с действительным внешним ключом. Можно ли также показать другие записи?

ответ

2

Установить null = True внутри вашего класса истории.

class History(models.Model): 
    uid = models.ForeignKey(User, to_field='username', db_column='uid', null=True) 
+0

Спасибо! Теперь записи отображаются в админ-интерфейсе. Но поле «uid» отображается как «emtpy». Возможно ли показать фактическую запись строки для этих наборов данных? – ilse2005

+0

Где? При перечислении HistoryAdmin или где? – bluszcz

+0

Да, при перечислении HistoryAdmin – ilse2005