0

モデルを作成/更新したユーザーを参照する必要があるモデルがいくつかあります。通常、これに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 ですでに利用可能な同様のものはありますか? 認証されたユーザーを明示的に渡すほうがよいでしょうか?

4

2 に答える 2

0

Django の分離レベルにより、モデル インスタンスにユーザーを自動的に設定することができなくなります。

于 2013-05-18T23:02:56.293 に答える