﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
35604	Unexpected behaviour of FileSystemStorage.exists() due to latest changes	Stefan Hammer		"With this ticket I would like to vote against the latest changes to `FileSystemStorage.exists()` with #35326.
The very basic file storage operation ""exists"" now returns `False`, if the option `allow_overwrite` is set to `True`, no matter if the file actually exists or not (see [https://github.com/django/django/pull/18020/files#diff-63fca472a0ca8c04505cb4ec9c132663ac71fc964110afc8ae9218416f37821cR196-R202 Github]).
I know, the default behavior is unchanged (`allow_overwrite` is False by default), but nevertheless the change seems to me more like the easiest option, but not the cleanest for the API. Until now, the API was very self-explanatory.

The storages API is perfect due to its simplicity and extensibility, and we're using it extensively due to packages like [https://github.com/jschneier/django-storages django-storages]. I think we should keep it that simple and rethink the above change of the basic ""exists"" operation, which in my opinion should return exactly that information.
Maybe we should also adapt the [https://docs.djangoproject.com/en/dev/ref/files/storage/#django.core.files.storage.Storage.exists documentation] for `exists()`, as it can be interpreted in multiple ways (see [https://github.com/django/django/pull/18020#issuecomment-2107608379 here] and [https://github.com/jschneier/django-storages/issues/1430#issuecomment-2221213695 here]).

I probably wouldn't have noticed this change until its occurrence in the next LTS, but (luckily) django-storages has synced the above changes into its latest version, which lead to a bug report with multiple affected people [https://github.com/jschneier/django-storages/issues/1430 here]."	Uncategorized	new	File uploads/storage	5.1	Normal				Unreviewed	0	0	0	0	0	0
