django – what is the false parameter in .delete(False) – Code Utility


I used an example from here

which deletes unreferenced files when instance is deleted.
one part of the code has this function:

""" Only delete the file if no other instances of that model are using it"""    
def delete_file_if_unused(model,instance,field,instance_file_field):
    dynamic_field = {}
    dynamic_field[] =
    other_refs_exist = model.objects.filter(**dynamic_field).exclude(
    if not other_refs_exist:

What does the argument False mean in .delete(False) ?

(I couldn’t find a reference to it)


This implementation is specific to the FieldFile that code refers to, and it’s for the save argument.

Django docs


Deletes the file associated with this instance and clears all attributes on the field. Note: This method will close the file if it happens to be open when delete() is called.

The optional save argument controls whether or not the model instance is saved after the file associated with this field has been deleted. Defaults to True.

Note that when a model is deleted, related files are not deleted. If you need to cleanup orphaned files, you’ll need to handle it yourself (for instance, with a custom management command that can be run manually or scheduled to run periodically via e.g. cron).