How to convert modelformset_factory function view to CBV?

65 views
Skip to first unread message

Richard Brockie

unread,
Dec 17, 2015, 8:38:00 AM12/17/15
to Django users
Hi,

I have the following view function that I need to implement as a class based view:

def admin_race_events(request, year, slug):

   
# cruft based on year and slug skipped - getting abstracted into an inherited class
   
# raceday is a model

    categories_in_event
= raceday.categories_in_order()

    formset_cats_in_events
= modelformset_factory(model=racereg_models.CategoriesInEvent,
                                                 
form=racereg_forms.CatsInEventForm,
                                                 
extra=0,
                                                 
formset=racereg_forms.CatsInEventFormSet)

   
if request.POST:
        formset_instance
= formset_cats_in_events(request.POST, queryset=categories_in_event)
       
if formset_instance.is_valid():
            formset_instance
.save()

            messages
.success(request, "Events updated.")
           
return redirect(cancel_link)
       
else:
            messages
.error(request, "Invalid data entered - please check the form.")
   
else:
        formset_instance
= formset_cats_in_events(queryset=categories_in_event)

    return render(request, 'race_day_admin/events.html', locals())

This seems like a candidate where I would use an UpdateView as my starting point (https://docs.djangoproject.com/en/1.9/ref/class-based-views/generic-editing/#django.views.generic.edit.UpdateView).

What I am not seeing is how the modelformset_factory would fit with using UpdateView. Any recommendations for how to proceed?

Thanks,
Richard Brockie


Reply all
Reply to author
Forward
0 new messages