def test_m2m_pk_field_type(self): # Regression for #11311 - The primary key for models in a m2m relation # doesn't have to be an AutoField w = Worksheet(id='abc') w.save() w.delete()
def post(self, request): worksheet_guid = str(uuid.uuid4()) worksheet = Worksheet(guid=worksheet_guid, saved_data=json.dumps({'id': worksheet_guid})) worksheet.save() response = HttpResponse(worksheet.saved_data, status=201) return response
def RPC__Worksheet__fork(self, origin_uuid, folder_uuid): """Create an exact copy of a worksheet from an origin. """ try: origin = Worksheet.objects.get(uuid=origin_uuid) except Worksheet.DoesNotExist: self.return_api_error('origin-does-not-exist') return if origin.published is None: self.return_api_error('origin-is-not-published') return try: folder = Folder.objects.get(uuid=folder_uuid) except Folder.DoesNotExist: self.return_api_error('folder-does-not-exist') return worksheet = Worksheet( user=self.user, name=origin.name, description=origin.description, engine=origin.engine, origin=origin, folder=folder) worksheet.save() order = [] for uuid in origin.get_order(): try: base = Cell.objects.get(uuid=uuid) except Cell.DoesNotExist: pass else: cell = Cell(user=self.user, type=base.type, parent=base.parent, content=base.content, worksheet=worksheet) order.append(cell.uuid) cell.save() worksheet.set_order(order) worksheet.save() self.return_api_result({ 'uuid': worksheet.uuid, 'name': worksheet.name, })
def RPC__Worksheet__create(self, name, engine_uuid, folder_uuid): """Create new worksheet and add it to the given folder. """ try: if folder_uuid is not None: folder = Folder.objects.get(user=self.user, uuid=folder_uuid) else: folder = None except Folder.DoesNotExist: self.return_api_error('does-not-exist') else: try: engine = Engine.objects.get(uuid=engine_uuid) except Engine.DoesNotExist: self.return_api_error('does-not-exist') else: worksheet = Worksheet(user=self.user, name=name, engine=engine, folder=folder) worksheet.save() self.return_api_result({'uuid': worksheet.uuid})