Opened 18 years ago
Last modified 13 years ago
#3621 closed
FileField in admin broken with sqlite3 — at Initial Version
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | dev |
Severity: | Keywords: | sqlite3 FileField unique admin, fs-rf-fixed | |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Using the sqlite3 backend:
If FileField has unique=True set, you cannot add a file due to an InterfaceError: Error binding parameter 0 - probably unsupported type.
If you drop the unique=True flag, you are able to insert a object, but not change it; the admin interface gives: Enter a valid filename.
The traceback when unique=True:
Traceback (most recent call last):
File "/Users/jimmy/UNIX/src/django-devel/django/core/handlers/base.py" in get_response
- response = callback(request, *callback_args, callback_kwargs)
File "/Users/jimmy/UNIX/src/django-devel/django/contrib/admin/views/decorators.py" in _checklogin
- return view_func(request, *args, kwargs)
File "/Users/jimmy/UNIX/src/django-devel/django/views/decorators/cache.py" in _wrapped_view_func
- response = view_func(request, *args, kwargs)
File "/Users/jimmy/UNIX/src/django-devel/django/contrib/admin/views/main.py" in add_stage
- errors = manipulator.get_validation_errors(new_data)
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/fields/init.py" in manipulator_validator_unique
- old_obj = self.manager.get({lookup_type: field_data})
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/manager.py" in get
- return self.get_query_set().get(*args, kwargs)
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in get
- obj_list = list(clone)
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in iter
- return iter(self._get_data())
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in _get_data
- self._result_cache = list(self.iterator())
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in iterator
- cursor.execute("SELECT " + (self._distinct and "DISTINCT " or "") + ",".join(select) + sql, params)
File "/Users/jimmy/UNIX/src/django-devel/django/db/backends/util.py" in execute
- return self.cursor.execute(sql, params)
File "/Users/jimmy/UNIX/src/django-devel/django/db/backends/sqlite3/base.py" in execute
- return Database.Cursor.execute(self, query, params)
InterfaceError at /admin/polls/bar/add/
Error binding parameter 0 - probably unsupported type.