0
0 комментариев

Всем доброго дня!
Не могу разгадать ребус, чем отличается наследование обычных моделей и proxy-моделей. Насколько я понял, при наследовании обычной модели, например:

class A(Model):
   a = models.TextField()
   c = models.TextField()
class B(A):
   b = models.TextField()

поля a и c класса B будут храниться в таблице модели A вместе с полями а и c класса A. И переопределить их в дочернем классе как-то так:

class B(A):
   b = models.TextField()
   a = models.IntegerField()

уже нельзя. Про proxy встречал информацию, что вроде позволяют что-то менять в поведении дочерних моделей. Но насколько я понял, то они тоже хранят наследуемые поля в таблице, относящейся к моделям родителя.. то есть в прокси их тоже нельзя переопределить? В общем, в чем преимущество использования proxy моделей? Ведь добавлять поля и методы в дочернем классе можно и при обычном наследовании. И возможно ли в django в принципе переопределение полей родительской модели (не абстрактной)?


Добавить комментарий