Opened 17 years ago

Last modified 13 years ago

#3621 closed

FileField in admin broken with sqlite3 — at Version 3

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 (last modified by Russell Keith-Magee)

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
  77. response = callback(request, *callback_args, **callback_kwargs)
File "/Users/jimmy/UNIX/src/django-devel/django/contrib/admin/views/decorators.py" in _checklogin
  55. return view_func(request, *args, **kwargs)
File "/Users/jimmy/UNIX/src/django-devel/django/views/decorators/cache.py" in _wrapped_view_func
  39. response = view_func(request, *args, **kwargs)
File "/Users/jimmy/UNIX/src/django-devel/django/contrib/admin/views/main.py" in add_stage
  250. errors = manipulator.get_validation_errors(new_data)
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/fields/__init__.py" in manipulator_validator_unique
  37. old_obj = self.manager.get(**{lookup_type: field_data})
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/manager.py" in get
  73. return self.get_query_set().get(*args, **kwargs)
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in get
  248. obj_list = list(clone)
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in __iter__
  108. return iter(self._get_data())
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in _get_data
  468. self._result_cache = list(self.iterator())
File "/Users/jimmy/UNIX/src/django-devel/django/db/models/query.py" in iterator
  181. 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
  12. return self.cursor.execute(sql, params)
File "/Users/jimmy/UNIX/src/django-devel/django/db/backends/sqlite3/base.py" in execute
  92. return Database.Cursor.execute(self, query, params)

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

Change History (3)

comment:1 by Gary Wilson <gary.wilson@…>, 17 years ago

Triage Stage: UnreviewedAccepted

could an admin please correct the description formatting.

comment:2 by anonymous, 17 years ago

This is screwing me up too, I get this error when saving an instance of a model with sqlite3 that has certain fields with default values. Works in the admin but not in my code or the shell

comment:3 by Russell Keith-Magee, 17 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.
Back to Top