2012-06-04 14 views
1

Если у меня естьПодклассы в Django баз данных

class Foo(models.Model): 
    widgets = models.ForeignKey('widgets.Widget', related_name='widgets') 

Я хочу сохранить подкласс, XWidget виджета в базу данных. Это нормально, хотя Foo.widgets имеет родительский класс Widget, а не XWidget?

При чтении Foo.widgets, если я хочу найти все XWidgets - фильтр, это хороший способ сделать это?

Приветствия

ответ

1

Да, вы можете сохранить подкласс для внешнего ключа, ссылающегося его родителей, потому что XWidgetявляется разновидностьюWidget. Однако это не будет работать наоборот. Например, если ваш внешний ключ был «widgets.XWidget», вы не смогли бы сохранить Widget.

+0

Спасибо, кучи! Казалось разумным, просто хотелось убедиться. Является ли .filter хорошим способом сортировки массива для поиска определенного подкласса? – quantumpotato

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