0

他の 2 つのフィールドの値を結合するモデルでカスタム保存メソッドを作成したいと思います。そのうちの 1 つは外部キー関係に格納された値です。

たとえば、次のモデルがあるとします。

class Post(models.Model):
    text = charfield()
    date = datefield()
    user = ForeignKey(other model)
    key = integerfield()
    unique = charfield()

外部キーからのユーザー名と、自動インクリメント整数フィールドであるキー フィールドの両方の組み合わせとして、unique というタイトルのフィールドを保存できるようにしたいと考えています。このようなことは可能ですか?同様の質問を検索しましたが、見つかりませんでした。

4

2 に答える 2

0

django post_save シグナルを使用して、最初の保存後にデータを変更できます

次のようになります。

from django.db.models.signals import post_save
@receiver(post_save, sender=Post)
def my_handler(sender, **kwargs):
   obj = kwargs['instance']
   obj.unique = obj.user + str(obj.key)
   obj.save()

シグナルに関するドキュメント: https://docs.djangoproject.com/en/dev/topics/signals/

于 2013-02-12T21:50:57.007 に答える