Ok, så jag flyttade importen till views.py
(eller models.py
och medan det bara importerades en gång, anropades det två gånger.
Problemet var att post_save
signalen anropades när objektet skapades och sparades. Jag har ingen aning om varför så jag lade till en lösning som nu fungerar
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
Redigera:
post_save
blev uppringd två gånger eftersom jag använde .create(...)
vilket motsvarar __init__(...)
och .save()
.
Slutsats
dispatch_uid
fungerar och att göra enstaka importer är fortfarande en bra praxis.