Qualcuno può aiutarmi a comprendere l'argomento update_field
per i segnali Django?Segnali Django: utilizzo di update_field come condizione
update_fields: L'insieme dei campi per aggiornare esplicitamente specificato nel metodo di salvataggio(). Nessuna se questo argomento non è stato utilizzato nella chiamata save().
Non sono chiaro su cosa significhi. Stavo cercando di usarlo per evitare che una funzione segnale di esecuzione, salvo alcuni campi sono stati aggiornati:
@receiver(post_save, sender=SalesRecord)
def spawn_SaleSource_record(sender, update_fields, created, instance, **kwargs):
if created or update_fields is 'sale_item' or 'sales_qty':
*do function*
Tuttavia, sembra che esegue ancora durante un altro processo del segnale quando un oggetto viene salvato, anche se un campo non specificato è esplicitamente aggiornato:
x = SalesRecord.objects.filter(paid_off=False, customer=instance.customer).first()
x.paid_off = True
x.save(update_fields=['paid_off'])
Sto andando su questo sbagliato?
Che ha fatto il trucco! Grazie mille! –
"update_fields" è una sintassi di django per campi modificati o personalizzati? – thatzprem
@thatzprem Secondo la documentazione è la sintassi di Django per i campi da aggiornare (https://docs.djangoproject.com/en/1.8/ref/signals/#post-save). – gpichot