sql >> データベース >  >> RDS >> Mysql

uidにもかかわらずDjangopostsaveシグナルが2回呼び出される

    さて、インポートをviews.pyに移動しました (またはmodels.py インポートされるのは1回だけでしたが、呼び出されるのは2回でした。

    問題は、post_save オブジェクトが作成および保存されたときにシグナルが呼び出されていました。理由がわからないので、現在機能する回避策を追加しました

    created = False
    
        #Workaround to signal being emitted twice on create and save
        if 'created' in kwargs:
            if kwargs['created']:
                created=True
    
        #If signal is from object creation, return
        if created:
            return
    

    編集:

    post_save .create(...)を使用したため、2回呼び出されていました これは__init__(...)と同等です および.save()

    結論

    dispatch_uid 動作し、単一のインポートを実行することは依然として良い習慣です。



    1. PostgreSQLストリーミングと論理レプリケーション–比較

    2. MySQLでSUBSTRING()を使用する方法

    3. SQL Serverで日時を切り捨てるにはどうすればよいですか?

    4. PHPによるMySQLデッドロックの検出