Estaba intentando diseñar un modelo en django con algunos campos de auditoría. Tal como creado en, creado por, actualizado y actualizado por. Esas cuatro columnas se repetirán en todos mis modelos en diferentes aplicaciones.django, ¿para qué es related_name? y ¿cómo creo columnas compartidas para usar en todo el proyecto?
Mi primera pregunta, ¿hay alguna manera de poner esas columnas y puedo incluirlas en mi clase cada vez que las necesito?
Mi segunda pregunta, ¿cuál es el punto del atributo related_name en el siguiente código? sin él, el código devolverá un error, además el valor debe ser único en toda la aplicación. ¿Hay alguna manera de garantizar que sea siempre único?
class Poll(models.Model):
question=models.CharField(max_length=300)
start_poll_at=models.DateTimeField(null=True)
end_poll_at=models.DateTimeField(null=True)
is_active=models.BooleanField(default=True)
created_at=models.DateField("Created at")
created_by=models.ForeignKey(User, db_column="created_by", related_name="poll_user_created_by")
updated_at=models.DateTimeField("Updated at")
updated_by=models.ForeignKey(User, db_column="updated_by", null=True, related_name="poll_user_updated_by")
class Choice(models.Model):
choice=models.CharField(max_length=200)
created_at=models.DateField("Created at")
created_by=models.ForeignKey(User, db_column="created_by", related_name="poll_user_created_by")
updated_at=models.DateTimeField("Updated at")
updated_by=models.ForeignKey(User, db_column="updated_by", null=True, related_name="poll_user_updated_by")
Gracias
para rela nombres ted: http://docs.djangoproject.com/en/dev/topics/db/models/#be-careful-with-related-name – crodjer