モデルを作成/更新したユーザーを参照する必要があるモデルがいくつかあります。通常、これにrequest.user
は関連する属性への受け渡しのみが含まれますが、可能であればこれを自動化したいと考えています。
Blameableと呼ばれるDoctrine (PHP ORM)の拡張機能があり、モデル インスタンスを永続化するときに現在認証されているユーザーへの参照を設定します。
class Post
{
/**
* Will set this to the authenticated User on the first persist($model)
* @ORM\ManyToOne(targetEntity="User", inversedBy="posts")
* @Gedmo\Blameable(on="create")
*/
private $createdBy;
/**
* Sets this to the authenticated User on the first and subsequent persists
* @ORM\ManyToOne(targetEntity="User")
* @Gedmo\Blameable(on="update")
*/
private $updatedBy;
}
Django で同じ機能を実現するために、pre_save
シグナル フックを使用してこれをエミュレートすることを最初に考えました。
Django ですでに利用可能な同様のものはありますか? 認証されたユーザーを明示的に渡すほうがよいでしょうか?