Skip to content

Instantly share code, notes, and snippets.

@specialunderwear
Last active October 13, 2023 14:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save specialunderwear/44cfbaf39e9b9e3abe48ee94c7897e1d to your computer and use it in GitHub Desktop.
Save specialunderwear/44cfbaf39e9b9e3abe48ee94c7897e1d to your computer and use it in GitHub Desktop.
Random view in admin
class SomeView(View):
model_admin = None
def get_context_data(self, **kwargs):
return super().get_context_data(
**self.model_admin.admin_site.each_context(self.request)
)
class FakeAdmin:
def __init__(self, model, admin_site):
self.admin_site = admin_site
self.model = self
def has_module_permission(self, moduel):
return True
def get_model_perms(self, rul):
return {"view": True}
def check(self):
return []
class _meta:
abstract = False
swapped = False
app_label = "randomapp"
model_name = "woop_matrix"
app_config = None
verbose_name_plural = _("woop matrix")
object_name = "woopMatrix"
@property
def urls(self):
woop_matrix_view = SomeView.as_view(model_admin=self)
def wrap(view):
def wrapper(*args, **kwargs):
return self.admin_site.admin_view(view)(*args, **kwargs)
wrapper.model_admin = self
return update_wrapper(wrapper, view)
return [
path(
"koeie/",
wrap(woop_matrix_view),
name="randomapp_woop_matrix_changelist",
)
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment