Tengo algunas columnas que se repiten en varios modelos. ¿Hay alguna solución para colocarlos en algún lugar y usarlo en cualquier modelo?
Puede lograr esto creando clases base y heredándolas en sus modelos.
Ejemplo:
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)También puede hacerlo abstracto y Django no creará migraciones para esto.
class Meta: abstract = TrueFinalmente, un modelo sería:
class Blog(baseModels.TimestampsModel): class Meta: db_table = "blog" title = models.CharField(max_length=100)