#29316: TypeError when defining `strip` on a CharField
-------------------------------------+-------------------------------------
               Reporter:  Daniel     |          Owner:  nobody
  Samuels                            |
                   Type:  Bug        |         Status:  new
              Component:  Database   |        Version:  2.0
  layer (models, ORM)                |
               Severity:  Normal     |       Keywords:
           Triage Stage:             |      Has patch:  0
  Unreviewed                         |
    Needs documentation:  0          |    Needs tests:  0
Patch needs improvement:  0          |  Easy pickings:  0
                  UI/UX:  0          |
-------------------------------------+-------------------------------------
 In Django 1.9 the
 
[https://docs.djangoproject.com/en/1.9/ref/forms/fields/#django.forms.CharField.strip
 `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
 [https://github.com/danielsamuels/django-strip-false-test 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.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/29316>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/056.6f962045ce39a7555808c45c7a702d88%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to