wiki:SimpleDelete
Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.

Version 10 (modified by Jorge Godoy <jgodoy@…>, 13 years ago) (diff)

--

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