viewhelpers.formview.updateview — Update views¶
-
class
UpdateViewMixin¶ Bases:
django_cradmin.viewhelpers.formview.create_update_view_mixin.CreateUpdateViewMixinCommon mixin class for update views.
Note
You should import this class with
from django_cradmin import viewhelpers, and refer to it usingviewhelpers.formview.UpdateViewMixin.-
get_pagetitle()¶ Get the page title (the title tag).
Defaults to
Edit <verbose_name model>.
-
get_success_message(obj)¶ Override this to provide a success message.
The
objis the saved object.Used by
add_success_messages().
-
-
class
WithinRoleUpdateView(**kwargs)¶ Bases:
django_cradmin.viewhelpers.mixins.QuerysetForRoleMixin,django_cradmin.viewhelpers.formview.updateview.UpdateViewMixin,django.views.generic.edit.UpdateView,django_cradmin.viewhelpers.mixins.CommonCradminViewMixin,django_cradmin.javascriptregistry.viewmixin.WithinRoleViewMixinUpdate view with the correct context data and sane base template for views where we have a cradmin role.
Note
You should import this class with
from django_cradmin import viewhelpers, and refer to it usingviewhelpers.formview.WithinRoleUpdateView.Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.
-
get_pagetitle()¶ Get the page title (the title tag).
Defaults to
Edit <verbose_name model>.
-
get_success_message(obj)¶ Override this to provide a success message.
The
objis the saved object.Used by
add_success_messages().
-
get_context_data(**kwargs)¶ Insert the form into the context dict.
-
-
class
UpdateRoleView(**kwargs)¶ Bases:
django_cradmin.viewhelpers.formview.updateview.WithinRoleUpdateViewExtends
UpdateViewto streamline editing the current role object.Just like
UpdateView, but with the get_object and get_queryset_for_role methods implemented to edit the current role object.Note
You should import this class with
from django_cradmin import viewhelpers, and refer to it usingviewhelpers.formview.UpdateRoleView.Constructor. Called in the URLconf; can contain helpful extra keyword arguments, and other things.
-
get_object(queryset=None)¶ Returns the object the view is displaying.
By default this requires self.queryset and a pk or slug argument in the URLconf, but subclasses can override this to return any object.
-
get_queryset_for_role()¶ Get a queryset with all objects of
self.modelthat the current role can access.
-
-
class
RedirectToCreateIfDoesNotExistMixin¶ Bases:
objectAn update view mixin that redirects to a create view when the object requested does not exist.
You will typically use this for objects with a OneToOne relationship to the current role, but that may not exist. Then you would use something like:
class MyUpdateView(update.UpdateView, update.RedirectToCreateIfDoesNotExistMixin): def get_object(self, queryset=None): return self.get_queryset_for_role().get() def get_queryset_for_role(self): return self.get_model_class().objects.filter( someonetooneattr=self.request.cradmin_role)
And the view will automatically redirect to the create view if the object does not exist.
Note
You should import this class with
from django_cradmin import viewhelpers, and refer to it usingviewhelpers.formview.RedirectToCreateIfDoesNotExistMixin.-
createview_appurl_name= 'create'¶ The viewname within this app for the create view. See
get_createurl(). Defaults tocreate.
-
get_createurl()¶ Get the URL of the create view that you want to redirect to if the requested object does not exist.
Defaults to:
self.request.cradmin_app.reverse_appurl(self.createview_appurl_name)
-