-
Добрый день(утро, вечер, ночь), господа.
Идея в базовом классе иметь какие-то универсальные поля.
class A(models.Model): user_submitted = ForeignKey(User, related_name="%(class)s_related") class Meta: Abstract=True class B(A): что-то там class Meta: Abstract=True class C(B): тоже всякие поля, реальная модель.
В чистом Питоне
С.User_submitted - ноу проблем.
Но вот в Джанге syncdb начинает ругаться и хотеть related_name(хотя по логике оно указано).
Multi-table inheritance прочел, и честно говоря не понял ,
можно ли в таком наследовании использовать related_name в родительском абстрактном классе?
Или придется B не делать абстрактным классом без вариантов?
-
Может путано обьяснил,
В общем можно ли наследовать грамотно Abstract-Abstract-Реальный класс, при том вынеся общие поля в класс самого верхнего уровня.
-
В доке
Of course, you can make an abstract base class that inherits from another abstract base class.
Но как related вынести в A?
-
http://stackoverflow.com/questions/929029/how-do-i-access-the-child-classes-of-an-object-in-django-without-knowing-the-name
Вот тут такая же проблема насколько я понял.
Может кто-нибудь пояснит как все-таки грамотно делать.
-
http://haineault.com/blog/101/
Вот тут все ясно и понятно. Но у него 2 класса а не 3.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.