Opened 18 years ago

Last modified 13 years ago

#3621 closed

FileField in admin broken with sqlite3 — at Initial Version

Reported by: jimmy@… 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

  1. response = callback(request, *callback_args, callback_kwargs)

File "/Users/jimmy/UNIX/src/django-devel/django/contrib/admin/views/decorators.py" in _checklogin

  1. return view_func(request, *args, kwargs)

File "/Users/jimmy/UNIX/src/django-devel/django/views/decorators/cache.py" in _wrapped_view_func

  1. response = view_func(request, *args, kwargs)

File "/Users/jimmy/UNIX/src/django-devel/django/contrib/admin/views/main.py" in add_stage

  1. errors = manipulator.get_validation_errors(new_data)

File "/Users/jimmy/UNIX/src/django-devel/django/db/models/fields/init.py" in manipulator_validator_unique

  1. old_obj = self.manager.get({lookup_type: field_data})

File "/Users/jimmy/UNIX/src/django-devel/django/db/models/manager.py" in get

  1. return self.get_query_set().get(*args, kwargs)

File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in get

  1. obj_list = list(clone)

File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in iter

  1. return iter(self._get_data())

File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in _get_data

  1. self._result_cache = list(self.iterator())

File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in iterator

  1. 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

  1. return self.cursor.execute(sql, params)

File "/Users/jimmy/UNIX/src/django-devel/django/db/backends/sqlite3/base.py" in execute

  1. return Database.Cursor.execute(self, query, params)

InterfaceError at /admin/polls/bar/add/
Error binding parameter 0 - probably unsupported type.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top