#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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/050.b98ecd2740b8ff466f9e2b2d2cb9691f%40djangoproject.com.

Reply via email to