У меня есть модель Machine
:
class Machine(models.Model):
name = models.CharField(max_length=12)
type = models.ForeignKey(to=TypeModel)
using = models.BooleanField(default=False)
group = models.ManyToManyField()
Я хочу записать записи Machine
экземпляра create
, update
и destroy
.Итак, у меня есть модель MachineRecord
:
class MachineRecord(models.Model):
editor = models.ForeignKey(to=User)
machine = models.ForeignKey(to=Machine)
old_content = models.CharField(max_length=1024, null=True, blank=True)
new_content = models.CharField(max_length=1024, null=True, blank=True)
ctime = models.DateTimeField(auto_now_add=True)
Но моя проблема в том, что есть много мест для создания и обновления экземпляра Machine
.Могу ли я создать экземпляр MachineRecord для экземпляра Machine в централизованном месте, например, в классе Machine?
Я имею в виду, если экземпляр создает, обновляет, уничтожает в любом месте, я просто обращаю внимание на централизованное место длязапись данных.
EDIT-01
Есть много высказываний, переписывающих метод save () машины:
class Machine(models.Model):
...
def save(*args, **kwargs):
before_do_something()
super().save(*args, **kwargs)
after_do_something()
но как насчетManyToManyField
?Я также хочу записать краткое описание групп в old_content
и new_content
.
, и что более важно, editor
- это request.user
(который вызывает UpdateAPI).