#django
Вопрос:
У меня есть несколько столбцов, которые повторяются в нескольких моделях. есть ли какое-нибудь решение разместить их где-нибудь и использовать в любой модели?
Ответ №1:
Вы можете достичь этого, создав базовые классы и наследовав их в своих моделях.
Пример:
class TimestampsModel(models.Model): @classmethod def get_fields(cls, fields: tuple): return fields.__add__(('created_at', 'updated_at')) created_at = models.DateTimeField(("created_at"), auto_now_add=True) updated_at = models.DateTimeField(("updated_at"), auto_now=True)
Вы также можете сделать его абстрактным, и Django не будет создавать миграции для этого.
class Meta: abstract = True
Наконец, моделью была бы:
class Blog(baseModels.TimestampsModel): class Meta: db_table = "blog" title = models.CharField(max_length=100)
Комментарии:
1. ДА. это то, что мне нужно.