sql >> Database >  >> RDS >> Mysql

Django post save-signaal wordt twee keer gebeld ondanks uid

Oké, dus ik heb de import verplaatst naar views.py (of models.py en terwijl het maar één keer werd geïmporteerd, werd het twee keer gebeld.

Het probleem was dat de post_save signaal werd gebeld toen het object werd gemaakt en opgeslagen. Ik heb geen idee waarom, dus ik heb een tijdelijke oplossing toegevoegd die nu werkt

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

Bewerken:

post_save werd twee keer gebeld omdat ik .create(...) . gebruikte wat gelijk is aan __init__(...) en .save() .

Conclusie

dispatch_uid werkt en het is nog steeds een goede gewoonte om een ​​enkele import te doen.



  1. Kan object van het type 'System.DBNull' niet casten om 'System.Byte[]' te typen.

  2. PostgreSQL schalen voor grote hoeveelheden gegevens

  3. SQL Tabel vullen met willekeurige gegevens

  4. Welk gegevenstype voor breedte- en lengtegraad?