#30710: impossible without workarounds to see which fields changed when 
subscribing
to signals from generic views
-----------------------------------------+------------------------
               Reporter:  MaxR           |          Owner:  nobody
                   Type:  Uncategorized  |         Status:  new
              Component:  Uncategorized  |        Version:  2.1
               Severity:  Normal         |       Keywords:
           Triage Stage:  Unreviewed     |      Has patch:  0
    Needs documentation:  0              |    Needs tests:  0
Patch needs improvement:  0              |  Easy pickings:  0
                  UI/UX:  0              |
-----------------------------------------+------------------------
 for example I have simple `generic view`:

 {{{
 #views.py
 class CollectorUpdate(generic.UpdateView):
     model = ReportBase
     fields = ['title', 'db', 'additionalPath', 'start_date', 'end_date',
 'reportTimestamp',
               'updMethod', 'cronStr', 'code', 'code_renew']
     template_name = 'collector/collector_update_form.html'
 }}}

 and subscribe to `post_save` signal:

 {{{
 @receiver(signal=signals.post_save, sender=ReportBase)
 def runCron(sender, **kwargs):
     """Signal handler. Run cron after post_save signal on """
     collector = kwargs.get('instance')
     updated_fields = kwargs.get('update_fields')
 }}}

 but `updated_fields`  always is `None`

 I think the problem is that in generic.UpdateView into `.save()` method it
 is necessary to register a field `field_update` with interesting for me
 fields.
 As workaround i'm using an instyance of saved object:
 {{{
  collector = kwargs.get('instance')
 }}}
 but it's looks strange and it is inconvenient. I have to do a lot of extra
 work

-- 
Ticket URL: <https://code.djangoproject.com/ticket/30710>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/050.b98ecd2740b8ff466f9e2b2d2cb9691f%40djangoproject.com.

Reply via email to