Именование абстрактной модели Django
Какой стандарт именования абстрактных классов Django? Мой руководитель команды настаивает на том, что имя абстрактной модели должно состоять из полей, доступных в ней. например, IsPublishedAndCreatedAt
. Но мой класс:
class BaseContentProperties(models.Model):
is_published = models.BooleanField()
created_at = models.DateTimeField()
class Meta:
abstract = True
class Category(BaseContentProperties): ...
class Location(BaseContentProperties): ...
class Post(BaseContentProperties): ...
Но если полей больше, то и название будет больше, например, IsPublishedAndCreatedAtAndPublishedAt...
. Кто прав?)
Если есть какие-то общепринятые рекомендации по этому вопросу, можете прислать ссылку, чтобы можно было ознакомиться. Спасибо
Я описал свою проблему выше
Документация по Django
Ваш "BaseContentProperties" очень похож на пример, который в документации Django по моделям приводится для абстрактных базовых классов. Я думаю, что это хороший способ с точки зрения здравого смысла подойти к именованию абстрактного базового класса, и он, кажется, согласуется с документацией Django.
Критика документации Django
В этом GitHub Gist от jrobichaud обсуждается тот же вопрос, который вы подняли, но он показывает, что сама документация Django немного непоследовательна в этом вопросе и предлагает использовать "Abstract" в названии "Abstract Models" и "Abstract Base Models" (не совсем уверен, какую из этих двух моделей вы будете считать своей моделью "BaseContentProperties", но он углубляется в эту тему, так что, надеюсь, эта ссылка будет полезна).