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.