.. note:: **The information on this page is obsolete, incomplete or incorrect and left here only for reference
  and has not been ported to the new documentation wiki.**

  Please refer to the `TurboGears documentation wiki`_ for up-to-date documentation.

.. _turbogears documentation wiki: http://docs.turbogears.org/

The docs clearly show how to insert/update a record, but not how to delete one.

If you have a reference to the object, simply call object.destroySelf() to remove it from the data base, provided it is not a foreign key or has any relationships depending on it.

If you do not have a reference to the object, simply use the delete class method:

class SampleSQLObject(SQLObject):
    # ...
#...
SampleSQLObject.delete(recordId)

If there are dependencies, you will have to delete the dependent records first (if at all.)

If there is a better way to do this, please update.

The way to cascade deletes is like this:

class Student(SQLObject):
    grade = sqlobject.ForeignKey('Grade', cascade=True)
class Grade(SQLObject):
    pass

Grade.delete(someid)

-Jerub


It is better to use the "destroySelf" method instead of the delete method. So, you end up with:

student = Student.get(someid)
student.destroySelf()

- Jorge Godoy