From 15cc5571dab67d43dc721c46d14c677d1bbaf187 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Thu, 14 Jul 2016 23:34:12 -0700 Subject: [PATCH] Fix a few model bits on the bindings --- channels/binding/base.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/channels/binding/base.py b/channels/binding/base.py index 39db69a..d2b9728 100644 --- a/channels/binding/base.py +++ b/channels/binding/base.py @@ -65,6 +65,10 @@ class Binding(object): # Optionally resolve model strings if isinstance(cls.model, six.string_types): cls.model = apps.get_model(cls.model) + cls.model_label = "%s.%s" % ( + cls.model._meta.app_label.lower(), + cls.model._meta.object_name.lower(), + ) # Connect signals post_save.connect(cls.save_receiver, sender=cls.model) post_delete.connect(cls.delete_receiver, sender=cls.model) @@ -153,13 +157,13 @@ class Binding(object): functions by default for update/create, and handles delete itself. """ # Check to see if we're allowed - if self.has_permission(self.user, pk): + if self.has_permission(self.user, action, pk): if action == "create": self.create(data) elif action == "update": - self.update(self.model.get(pk=pk), data) + self.update(self.model.objects.get(pk=pk), data) elif action == "delete": - self.model.filter(pk=pk).delete() + self.model.objects.filter(pk=pk).delete() else: raise ValueError("Bad action %r" % action)