sql >> Database teknologi >  >> RDS >> Mysql

Django post save-signal bliver kaldt to gange trods uid

Ok, så jeg flyttede importen til views.py (eller models.py og mens det kun blev importeret én gang, blev det kaldt to gange.

Problemet var, at post_save signalet blev kaldt, da objektet blev oprettet og gemt. Jeg aner ikke hvorfor, så jeg tilføjede en løsning, som nu virker

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

Rediger:

post_save blev ringet op to gange, fordi jeg brugte .create(...) hvilket svarer til __init__(...) og .save() .

Konklusion

dispatch_uid virker, og at udføre enkeltimport er stadig en god praksis.



  1. kør *.sql-fil med python MySQLdb

  2. Videregivelse af array til Oracle-procedure fra c#

  3. T-SQL til at finde redundante indekser

  4. Forbedret script, der returnerer alle egenskaber fra SERVERPROPERTY() i SQL Server