私は信号を持っています-
@receiver(post_save, sender=User)
def create_initial_story(sender,instance, signal, created, **kwargs):
if created:
Story(user = instance, title = 'Random Stories',
description="Random stories",
is_closed = False, is_random = True).save()
これはクールですべてですが、models.pyにこのシグナルを含めたくありません。
それはどういうわけか「二重インポート」されます、そして私はむしろそれが起こらないことを望みます。はい、私は信号が2回実行されるのを止める魔法のトリックについて知っていますが、それを信用していません。なぜ私のアプリは2倍の仕事をするのですか?クレイジー!
誰かが私が使うことを提案しdjango.db.models.get_model
ました、しかし私はこれをする方法を知りません!私の試みはうまくいきませんでした-これが私が試したことです:
from django.db.models import get_model
@receiver(post_save, sendermodel('myapp','User'))
def create_initial_story(sender,instance, signal, created, **kwargs):
if created:
get_model('myapp','Story').(user = instance, title = 'Random Stories',
description="Random stories",
is_closed = False, is_random = True).save()
これにより例外が発生します-
「<ストーリー:ランダムストーリー>」を割り当てることはできません:「Story.user」は「ユーザー」インスタンスである必要があります。
それで!これを修正するにはどうすればよいですか?