I think you have to change your model.
Override the save() method to raise an exception if "
self.id is not None."
This won't prevent developers from using the 'update()' or 'delete()'
methods of a queryset, but for a single instance it shouldn't be
editable. It will still be able to be deleted, unless you override
delete() as well.