0
こんにちは私は、いくつかのフィールドを作成してmixinに変換する方法を知りたかったのです。Djangoモデル監査mixin
次のようなことがあります。
class Supplier(models.Model):
name = models.CharField(max_length=128)
created_by = models.ForeignKey(get_user_model(), related_name='%(class)s_created_by')
modified_by = models.ForeignKey(get_user_model(), related_name='%(class)s_modified_by')
created_date = models.DateTimeField(editable=False)
modified_date = models.DateTimeField()
def save(self, *args, **kwargs):
if not self.id:
self.created_date = timezone.now()
self.modified_date = timezone.now()
return super(Supplier, self).save(*args, **kwargs)
最後の4つのフィールドが異なるモデルに書き込まれるたびに、ミックスインを作成したいと思います。ここで
は、私が作成しますミックスインです:
class AuditMixin(models.Model):
created_by = models.ForeignKey(get_user_model(), related_name='%(class)s_created_by')
modified_by = models.ForeignKey(get_user_model(), related_name='%(class)s_modified_by')
created_date = models.DateTimeField(editable=False)
modified_date = models.DateTimeField()
def save(self, *args, **kwargs):
if not self.id:
self.created_date = timezone.now()
self.modified_date = timezone.now()
return super(Supplier, self).save(*args, **kwargs)
class Supplier(AuditMixin):
name = models.Charfield(max_length=128)
にはどうすればrelated_nameがミックスインがに含まれているクラスに関連していることを確認することができますか?また、save関数では、mixinが含まれているクラスが返されるようにするにはどうしたらいいですか?
ありがとうございました!