Предположим, что у меня есть модели, определенные в файле Django models.py, как показано ниже.Каков наилучший способ добавления журнала для создания экземпляра модели Django?
Я хотел бы добавить некоторый общий код, чтобы каждый раз, когда создавались экземпляры modelA или modelB, записывалось сообщение журнала, которое выглядит следующим образом: «Создал экземпляр modelA: Field1 = A1, Field2 = A2" - без каких-либо других побочных эффектов.
Как я могу это сделать?
import logging
logger = logging.getLogger(__name__)
class modelA(models.Model):
field1 = models.TextField(default="A1")
field2 = models.TextField(default="A2")
def __unicode__(self):
return "Field1 = %s, Field2 = %s" % (self.field1, self.field2)
class modelB(models.Model):
field1 = models.TextField(default="B1")
field2 = models.TextField(default="B2")
def __unicode__(self):
return "Field1 = %s, Field2 = %s" % (self.field1, self.field2)
работал как шарм. Благодаря! @ bruno-desthuilliers, могу ли я создать аналогичный обратный вызов для удаления этих моделей? –
Вы можете увидеть все доступные сигналы в docs -https: //docs.djangoproject.com/en/dev/topics/signals/ –
В зависимости от ваших требований вам также может быть проще использовать ранее существовавшее приложение для проверки модели Django - https://www.djangopackages.com/grids/g/model-audit/ –