sql >> Databáze >  >> RDS >> Mysql

Django post save signál byl volán dvakrát navzdory uid

Dobře, přesunul jsem import do views.py (nebo models.py a zatímco byl importován pouze jednou, byl volán dvakrát.

Problém byl v tom, že post_save signál byl volán, když byl objekt vytvořen a také uložen. Nevím proč, tak jsem přidal řešení, které nyní funguje

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

Upravit:

post_save byl volán dvakrát, protože jsem použil .create(...) což je ekvivalentní __init__(...) a .save() .

Závěr

dispatch_uid funguje a provádění jednotlivých importů je stále dobrou praxí.



  1. Převeďte formát data na formát DD/MMM/RRRR na serveru SQL

  2. Použití Oracle JDeveloper 12c s Oracle Database 12c na platformě Oracle Cloud, část 2

  3. MySQL:Více řádků jako jeden řádek oddělený čárkami

  4. Oracle displej více než 24 hodin