Delete the object by primary_key:

        .. code-block:: python

            DBSession.sacrud(Users).delete(1)
            DBSession.sacrud(Users).delete('1')
            DBSession.sacrud(User2Groups).delete({'user_id': 4, 'group_id': 2})

        JSON support:

        .. code-block:: python

            DBSession.sacrud(User2Groups).delete(
                '{"user_id": 4, "group_id": 2}'
            )

        Default it run ``session.commit() or transaction.commit()``.
        If it is not necessary use attribute ``commit=False``.

def delete(self, pk, **kwargs):
        """
        Delete the object by primary_key:

        .. code-block:: python

            DBSession.sacrud(Users).delete(1)
            DBSession.sacrud(Users).delete('1')
            DBSession.sacrud(User2Groups).delete({'user_id': 4, 'group_id': 2})

        JSON support:

        .. code-block:: python

            DBSession.sacrud(User2Groups).delete(
                '{"user_id": 4, "group_id": 2}'
            )

        Default it run ``session.commit() or transaction.commit()``.
        If it is not necessary use attribute ``commit=False``.
        """
        pk = unjson(pk)

        obj = get_obj(self.session, self.table, pk)
        if self._delete(obj, **kwargs):
            return {'pk': pk, 'name': obj.__repr__()}