Birisi bana Django sinyalleri için update_field
argümanını anlamama yardımcı olabilir mi?Django Sinyalleri: update_field öğesini koşul olarak kullanma
update_fields: alanları grubu açıkça() kaydetme yöntemi belirtilen güncellemek için. Bu argüman save() çağrısında kullanılmadıysa hiçbiri. Bu, ne anlama geldiğini açıklığa kavuşturulamamıştır.
Bunun ne anlama geldiğini anlamadım. Belirli alanlar güncellendi sürece yürütülmesini bir sinyal işlevi önlemek için kullanmaya çalışıyordu: Ancak
@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*
, onu hala belirsiz bir alan olsa bile, bir nesne kaydedilir başka bir sinyal işlemi sırasında çalıştırır gibi görünüyor Açıkça güncelleştirildi:
x = SalesRecord.objects.filter(paid_off=False, customer=instance.customer).first()
x.paid_off = True
x.save(update_fields=['paid_off'])
Bu yanlış mı yapıyorum?
! Çok teşekkürler! –
"update_fields", değiştirilmiş alanlar veya özel olan için bir django sözdizimidir? – thatzprem
@thatzprem Belgelere göre, alanların güncellenmesi için Django sözdizimi (https://docs.djangoproject.com/en/1.8/ref/signals/#post-save). – gpichot