#29316 closed Bug (invalid)
TypeError when defining `strip` on a CharField
| Reported by: | Daniel Finch | Owned by: | nobody |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | 2.0 |
| Severity: | Normal | Keywords: | |
| Cc: | Daniel Finch | Triage Stage: | Unreviewed |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
In Django 1.9 the `strip` argument was added #4960, but if you actually specify it on a CharField you get a TypeError. This means that you cannot disable it by setting strip=False - you can't even set strip=True if you wanted to for whatever reason.
I've created a minimal reproduction of the problem, it's available on Github. The traceback is as follows:
$ ./manage.py runserver
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x109b41598>
Traceback (most recent call last):
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/.venv/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/.venv/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 112, in inner_run
autoreload.raise_last_exception()
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/.venv/lib/python3.6/site-packages/django/utils/autoreload.py", line 248, in raise_last_exception
raise _exception[1]
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/.venv/lib/python3.6/site-packages/django/core/management/__init__.py", line 327, in execute
autoreload.check_errors(django.setup)()
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/.venv/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/.venv/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/.venv/lib/python3.6/site-packages/django/apps/registry.py", line 112, in populate
app_config.import_models()
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/.venv/lib/python3.6/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/strip/models.py", line 4, in <module>
class Test(models.Model):
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/strip/models.py", line 8, in Test
strip=False,
File "/Users/danielsamuels/Workspace/_other/django-strip-false-test/.venv/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 1042, in __init__
super().__init__(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'strip'
The error seems to be as simple as the Field class missing the strip attribute in it's __init__ method.
Change History (3)
comment:1 by , 8 years ago
| Cc: | added |
|---|
comment:2 by , 8 years ago
| Resolution: | → invalid |
|---|---|
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
It looks like you've confused the form field with the model field (which doesn't have
strip).