#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 [email protected].
To post to this group, send email to [email protected].
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