Example #1
0
    def remove(self, *objs):
        """Removes the provided instances from the reference set.

        :raises:
            - `TypeError`: if any given object is not an instance of referenced model
        """
        self.__check(*objs)

        from kalapy.db.engines import database
        database.delete_records(*objs)
Example #2
0
    def remove(self, *objs):
        """Removes the provided instances from the reference set.

        :raises:
            - `TypeError`: if any given object is not an instance of referenced model
        """
        self.__check(*objs)

        from kalapy.db.engines import database
        database.delete_records(*objs)
Example #3
0
    def delete(self):
        """Deletes the instance from the database.

        :raises:
            - :class:`TypeError`: if instance is not saved
            - :class:`DatabaseError`: if instance could not be deleted.
        """
        if not self.is_saved:
            raise TypeError(_("Can't delete, instance doesn't exists."))
        from kalapy.db.engines import database
        database.delete_records(self)
        self._key = None
Example #4
0
    def delete(self):
        """Deletes the instance from the database.

        :raises:
            - :class:`TypeError`: if instance is not saved
            - :class:`DatabaseError`: if instance could not be deleted.
        """
        if not self.is_saved:
            raise TypeError(_("Can't delete, instance doesn't exists."))
        from kalapy.db.engines import database
        database.delete_records(self)
        self._key = None
Example #5
0
    def clear(self):
        """Removes all referenced instances from the reference set.
        """
        if not self.__obj.is_saved:
            return

        from kalapy.db.engines import database

        # instead of removing records at once remove them in bunches
        l = 100
        q = self.all()
        result = q.fetch(l)
        while result:
            database.delete_records(*result)
            result = q.fetch(l)
Example #6
0
    def clear(self):
        """Removes all referenced instances from the reference set.
        """
        if not self.__obj.is_saved:
            return

        from kalapy.db.engines import database

        # instead of removing records at once remove them in bunches
        l = 100
        q = self.all()
        result = q.fetch(l)
        while result:
            database.delete_records(*result)
            result = q.fetch(l)
Example #7
0
    def remove(self, *objs):
        """Removes the provided instances from the reference set.

        :raises:
            - `FieldError`: if referenced instance field is required field.
            - `TypeError`: if any given object is not an instance of referenced model
        """
        if self.__ref_field.is_required:
            raise FieldError(
                _("objects can't be removed from %(name)r, delete the objects instead.",
                    name=self.__field.name))

        self.__check(*objs)

        from kalapy.db.engines import database
        database.delete_records(*objs)
Example #8
0
    def remove(self, *objs):
        """Removes the provided instances from the reference set.

        :raises:
            - `FieldError`: if referenced instance field is required field.
            - `TypeError`: if any given object is not an instance of referenced model
        """
        if self.__ref_field.is_required:
            raise FieldError(
                _("objects can't be removed from %(name)r, delete the objects instead.",
                  name=self.__field.name))

        self.__check(*objs)

        from kalapy.db.engines import database
        database.delete_records(*objs)
Example #9
0
    def clear(self):
        """Removes all referenced instances from the reference set.

        :raises:
            - `FieldError`: if referenced instance field is required field.
            - `TypeError`: if any given object is not an instance of referenced model
        """
        if not self.__obj.is_saved:
            return

        if self.__ref_field.is_required:
            raise FieldError(
                _("objects can't be removed from %(name)r, delete the objects instead.",
                    name=self.__field.name))

        from kalapy.db.engines import database

        # instead of removing records at once remove them in bunches
        l = 100
        q = self.all()
        result = q.fetch(l)
        while result:
            database.delete_records(*result)
            result = q.fetch(l)
Example #10
0
    def clear(self):
        """Removes all referenced instances from the reference set.

        :raises:
            - `FieldError`: if referenced instance field is required field.
            - `TypeError`: if any given object is not an instance of referenced model
        """
        if not self.__obj.is_saved:
            return

        if self.__ref_field.is_required:
            raise FieldError(
                _("objects can't be removed from %(name)r, delete the objects instead.",
                  name=self.__field.name))

        from kalapy.db.engines import database

        # instead of removing records at once remove them in bunches
        l = 100
        q = self.all()
        result = q.fetch(l)
        while result:
            database.delete_records(*result)
            result = q.fetch(l)
Example #11
0
File: db.py Project: lafada/kalapy
    def test_delete_records(self):
        a1 = Article(title='sometitle')
        k1 = a1.save()

        a2 = Article(title='sometitle2')
        k2 = a2.save()

        keys = database.delete_records(a1, a2)

        self.assertEqual(keys, [k1, k2])

        a = Article.get(k1)

        self.assertTrue(a is None)
        self.assertTrue(a1.key is None)
        self.assertTrue(a2.key is None)
        self.assertTrue(a1.is_dirty and a2.is_dirty)