def create(self, request): record = self.model(**self._extract_data(request)) if self.can_create(request.user, record): record = self._save(record) try: tags = self._extract_tags(request) record.tags.set(*tags) except KeyError: pass ajax_created.send(sender=record.__class__, instance=record) return encoder.encode(record) else: raise AJAXError(403, _("Access to endpoint is forbidden"))