Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by Aymeric Augustin ):

 In [changeset:"109b33f64c8d3f48c9e0bd3ea8d42fe6f3cb02b7" 109b33f]:
 {{{
 #!CommitTicketReference repository=""
 revision="109b33f64c8d3f48c9e0bd3ea8d42fe6f3cb02b7"
 Refs #23919 -- Simplified assertRaisesRegex()'s that accounted for Python
 2.
 }}}

--
Ticket URL: 
Django 
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/067.f1eec9e6dd4864267a6e5cc0d816540f%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


[Django] #27753: Cleanups when no supported version of Django supports Python 2 anymore

2017-01-19 Thread Django
#27753: Cleanups when no supported version of Django supports Python 2 anymore
+
   Reporter:  Aymeric Augustin  |  Owner:  nobody
   Type:  Cleanup/optimization  | Status:  new
  Component:  Utilities |Version:  master
   Severity:  Normal|   Keywords:
   Triage Stage:  Unreviewed|  Has patch:  0
Needs documentation:  0 |Needs tests:  0
Patch needs improvement:  0 |  Easy pickings:  0
  UI/UX:  0 |
+
 Compatibility with Python 2 is currently being removed in master as part
 of the Django 2.0 development cycle: see #23919.

 However third-party apps may want to remain compatible with all supported
 version of Django and the corresponding versions of Python, which includes
 Python 2.

 To allow this, compatibility functions or modules aren't removed. They're
 still importable. They're usually just aliases or no-ops. Here's a list of
 things to deprecate and remove eventually:

 - django.utils.lru_cache
 - django.utils._os.abspathu, upath, npath

--
Ticket URL: 
Django 
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/052.aee21fc195fddf39ae047843ba3073c0%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by Claude Paroz ):

 In [changeset:"dc8834cad41aa407f402dc54788df3cd37ab3e22" dc8834ca]:
 {{{
 #!CommitTicketReference repository=""
 revision="dc8834cad41aa407f402dc54788df3cd37ab3e22"
 Refs #23919 -- Removed unneeded force_str calls
 }}}

--
Ticket URL: 
Django 
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/067.b79612eaff2908cce34b782cee471128%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


[Django] #27752: Fix and test admin_order_field set for the __str__ of a model

2017-01-19 Thread Django
#27752: Fix and test admin_order_field set for the __str__ of a model
-+
   Reporter:  Claude Paroz   |  Owner:  nobody
   Type:  Bug| Status:  new
  Component:  contrib.admin  |Version:  master
   Severity:  Normal |   Keywords:
   Triage Stage:  Accepted   |  Has patch:  0
Needs documentation:  0  |Needs tests:  0
Patch needs improvement:  0  |  Easy pickings:  0
  UI/UX:  0  |
-+
 While doing some force_str cleanup on Django 2.0, Tim Graham and me
 noticed a possible issue with `admin_order_field` on a `__str__`method (in
 `django.contrib.admin.utils.label_for_field`). It's apparently untested.
 See this related commit [1], with a test that was later removed [2].

 
https://github.com/django/django/commit/2304ca423640a7b06390530bf61c879f9ff9e4ba
 
https://github.com/django/django/commit/65cc646c4801e3f3e1df1ab06dfaa763fa4b7b22

 So a test for the proper label and sorting is wanted. See
 `test_change_list_sorting_model_admin` in `tests/admin_views/tests.py` for
 a similar test.

--
Ticket URL: 
Django 
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/050.df1528d2fc0d0f588954f4db0231b3a9%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+
Description changed by ChillarAnand:

Old description:

> This is a tracking ticket of things that we can remove when we drop
> Python 2 compatibility in Django 2.0. Please edit the description of the
> ticket as you come across new items.
>
> * ~~`django.core.mail.message.make_msgid()`~~ #23905
> * ~~`django.dispatch.weakref_backports`~~
> * ~~`django.http.cookie` workarounds~~ (remains for Python 3.4)
> * ~~`django.utils.2to3_fixes`~~
> * ~~`django.utils.decorators.ContextDecorator` ~~
> * `django.utils.encoding`
>  * ~~`@python_2_unicode_compatible`~~
>  * ~~force/smart _unicode~~
>  * either force/smart _text or force/smart _str
> * ~~`django.utils.html_parser.use_workaround`~~
> * `django.utils.http` functions like `urlquote_plus` -- I think the
> versions of these functions on Python 3 don't have the unicode characters
> bug we are working around.
> * ~~Stop using `django.utils.lru_cache`~~
> * ~~Figure the deprecation plan for `django.utils.lru_cache`~~ (staying
> for now)
> * `django.utils.six` - Remaining:
> [https://github.com/django/django/pull/7878 PR 7878]
> * ~~`from __future__ import unicode_literals`~~
> * `str()` stuff for environment variables, e.g.
> 0bfb53866199f366ed140d49938fd185e5898156
> * ~~`str()` stuff for `type(name)` and `__name__`~~
> * ~~Inheriting from `object` in `django.core.servers.basehttp` (and
> perhaps other places) ala 4ee06ec3fc8e94d164afbd2f9c880c60c658a9ac~~
> * ~~`git grep 'long int'` (mostly docs)~~
> * ~~`django.utils._os [npath,upath]`~~
> * ~~In tests: `contextlib.closing(self.urlopen` (`contextlib.closing` no
> longer needed)~~
> * Support for pysqlite (doesn't support Python 3)
> [https://github.com/django/django/pull/7890 PR]
> * Replace `super(ClassName, self)` with `super()`
> * ~~Remove `# -*- coding: utf-8 -*-` source file encoding~~ (that's the
> default on Python 3)
> * Evaluate replacement of custom `__del__` methods by
> [https://docs.python.org/3/library/weakref.html#weakref.finalize
> weakref.finalize]
> * ~~Remove `__ne__` from objects already defining a `__eq__`~~
> * ~~Remove note about PYTHONHASHSEED (see #26243)~~
> * Remove Field.creation_counter (replace by metaclass `__prepare__`
> returning `OrderedDict()`,
> https://docs.python.org/3/reference/datamodel.html#preparing-the-class-
> namespace)
> * ~~`django.test.utils.reset_warning_registry()`~~
> * Replace `errno` checks by `IOError` subclasses defined by
> [https://www.python.org/dev/peps/pep-3151/ PEP 3151]
> * ~~`django.utils.glob`~~
> * ~~`django.utils.cookies.SimpleCookie`~~ (remains for Python 3.4
> compatibility)
> * ~~`django.test.mock`~~
> * Replace `tempfile.mkdtemp` + remove with `tempfile.TemporaryDirectory`
> context manager
> * ~~Replace `io.open()` by a plain `open()`~~
> * ~~Evaluate need for `assertRegex`, `assertRaisesRegex` in tests. Some
> usage is merely to account for differences in messages between Python 2
> and 3.~~
> * `re.U`, `re.UNICODE` (default behavior of Python 3) -
> [https://github.com/django/django/pull/7879 PR 7879]

New description:

 This is a tracking ticket of things that we can remove when we drop Python
 2 compatibility in Django 2.0. Please edit the description of the ticket
 as you come across new items.

 * ~~`django.core.mail.message.make_msgid()`~~ #23905
 * ~~`django.dispatch.weakref_backports`~~
 * ~~`django.http.cookie` workarounds~~ (remains for Python 3.4)
 * ~~`django.utils.2to3_fixes`~~
 * ~~`django.utils.decorators.ContextDecorator` ~~
 * `django.utils.encoding`
  * ~~`@python_2_unicode_compatible`~~
  * ~~force/smart _unicode~~
  * either force/smart _text or force/smart _str
 * ~~`django.utils.html_parser.use_workaround`~~
 * `django.utils.http` functions like `urlquote_plus` -- I think the
 versions of these functions on Python 3 don't have the unicode characters
 bug we are working around.
 * ~~Stop using `django.utils.lru_cache`~~
 * ~~Figure the deprecation plan for `django.utils.lru_cache`~~ (staying
 for now)
 * `django.utils.six` - Remaining:
 [https://github.com/django/django/pull/7878 PR 7878]
 * ~~`from __future__ import unicode_literals`~~
 * `str()` stuff for environment variables, e.g.
 0bfb53866199f366ed140d49938fd185e5898156
 * ~~`str()` stuff for `type(name)` 

Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+
Description changed by Tim Graham:

Old description:

> This is a tracking ticket of things that we can remove when we drop
> Python 2 compatibility in Django 2.0. Please edit the description of the
> ticket as you come across new items.
>
> * `django.core.mail.message.make_msgid()` #23905
> * ~~`django.dispatch.weakref_backports`~~
> * `django.http.cookie` workarounds
> * `django.utils.2to3_fixes`
> * ~~`django.utils.decorators.ContextDecorator` ~~
> * `django.utils.encoding`
>  * ~~`@python_2_unicode_compatible`~~
>  * ~~force/smart _unicode~~
>  * either force/smart _text or force/smart _str
> * `django.utils.html_parser.use_workaround`
> * `django.utils.http` functions like `urlquote_plus` -- I think the
> versions of these functions on Python 3 don't have the unicode characters
> bug we are working around.
> * ~~Stop using `django.utils.lru_cache`~~
> * Figure the deprecation plan for `django.utils.lru_cache`
> * `django.utils.six` - Remaining:
> [https://github.com/django/django/pull/7878 PR 7878]
> * ~~`from __future__ import unicode_literals`~~
> * `str()` stuff for environment variables, e.g.
> 0bfb53866199f366ed140d49938fd185e5898156
> * ~~`str()` stuff for `type(name)` and `__name__`~~
> * ~~Inheriting from `object` in `django.core.servers.basehttp` (and
> perhaps other places) ala 4ee06ec3fc8e94d164afbd2f9c880c60c658a9ac~~
> * `git grep 'long int'` (mostly docs)
> * `django.utils._os [npath,upath]`
> * In tests: `contextlib.closing(self.urlopen` (`contextlib.closing` no
> longer needed)
> * Support for pysqlite (doesn't support Python 3)
> * Replace `super(ClassName, self)` with `super()`
> * ~~Remove `# -*- coding: utf-8 -*-` source file encoding~~ (that's the
> default on Python 3)
> * Evaluate replacement of custom `__del__` methods by
> [https://docs.python.org/3/library/weakref.html#weakref.finalize
> weakref.finalize]
> * ~~Remove `__ne__` from objects already defining a `__eq__`~~
> * Remove note about PYTHONHASHSEED (see #26243)
> * Remove Field.creation_counter (replace by metaclass `__prepare__`
> returning `OrderedDict()`,
> https://docs.python.org/3/reference/datamodel.html#preparing-the-class-
> namespace)
> * ~~`django.test.utils.reset_warning_registry()`~~
> * Replace `errno` checks by `IOError` subclasses defined by
> [https://www.python.org/dev/peps/pep-3151/ PEP 3151]
> * ~~`django.utils.glob`~~
> * `django.utils.cookies.SimpleCookie`
> * `django.test.mock`
> * Replace `tempfile.mkdtemp` + remove with `tempfile.TemporaryDirectory`
> context manager
> * ~~Replace `io.open()` by a plain `open()`~~
> * Evaluate need for `assertRegex`, `assertRaisesRegex` in tests. Some
> usage is merely to account for differences in messages between Python 2
> and 3.
> * `re.U`, `re.UNICODE` (default behavior of Python 3) -
> [https://github.com/django/django/pull/7879 PR 7879]

New description:

 This is a tracking ticket of things that we can remove when we drop Python
 2 compatibility in Django 2.0. Please edit the description of the ticket
 as you come across new items.

 * ~~`django.core.mail.message.make_msgid()`~~ #23905
 * ~~`django.dispatch.weakref_backports`~~
 * ~~`django.http.cookie` workarounds~~ (remains for Python 3.4)
 * ~~`django.utils.2to3_fixes`~~
 * ~~`django.utils.decorators.ContextDecorator` ~~
 * `django.utils.encoding`
  * ~~`@python_2_unicode_compatible`~~
  * ~~force/smart _unicode~~
  * either force/smart _text or force/smart _str
 * ~~`django.utils.html_parser.use_workaround`~~
 * `django.utils.http` functions like `urlquote_plus` -- I think the
 versions of these functions on Python 3 don't have the unicode characters
 bug we are working around.
 * ~~Stop using `django.utils.lru_cache`~~
 * ~~Figure the deprecation plan for `django.utils.lru_cache`~~ (staying
 for now)
 * `django.utils.six` - Remaining:
 [https://github.com/django/django/pull/7878 PR 7878]
 * ~~`from __future__ import unicode_literals`~~
 * `str()` stuff for environment variables, e.g.
 0bfb53866199f366ed140d49938fd185e5898156
 * ~~`str()` stuff for `type(name)` and `__name__`~~
 * ~~Inheriting from `object` in `django.core.servers.basehttp` (and
 perhaps other places) ala 4ee06ec3fc8e94d164afbd2f9c880c60c658a9ac~~
 * ~~`git grep 'long int'` 

Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by Tim Graham ):

 In [changeset:"bf1c9570270b46e9e92b256fb9be394258029bbf" bf1c9570]:
 {{{
 #!CommitTicketReference repository=""
 revision="bf1c9570270b46e9e92b256fb9be394258029bbf"
 Refs #23919 -- Removed Python 2 workaround for hashing Oracle params (refs
 #27632).
 }}}

--
Ticket URL: 
Django 
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/067.e269ce06eda0e6d9c1e99faf3f1096c5%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #27632: Oracle backend fails to execute a query with an aggregation that contains an expression in the GROUP BY.

2017-01-19 Thread Django
#27632: Oracle backend fails to execute a query with an aggregation that 
contains
an expression in the GROUP BY.
-+-
 Reporter:  Josh Smeaton |Owner:  felixxm
 Type:  Bug  |   Status:  closed
Component:  Database layer   |  Version:  master
  (models, ORM)  |
 Severity:  Normal   |   Resolution:  fixed
 Keywords:  oracle   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Tim Graham ):

 In [changeset:"bf1c9570270b46e9e92b256fb9be394258029bbf" bf1c9570]:
 {{{
 #!CommitTicketReference repository=""
 revision="bf1c9570270b46e9e92b256fb9be394258029bbf"
 Refs #23919 -- Removed Python 2 workaround for hashing Oracle params (refs
 #27632).
 }}}

--
Ticket URL: 
Django 
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/066.a868ce851403f01607fddb444baed061%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


[Django] #27751: Teardown of a PG test database fails if it is an autogenerated test_MYDB database

2017-01-19 Thread Django
#27751: Teardown of a PG test database fails if it is an autogenerated test_MYDB
database
-+-
   Reporter:  Cynthia|  Owner:  nobody
  Kiser  |
   Type:  Bug| Status:  new
  Component:  Database   |Version:  1.9
  layer (models, ORM)|
   Severity:  Normal |   Keywords:  database, testing
   Triage Stage: |  Has patch:  0
  Unreviewed |
Needs documentation:  0  |Needs tests:  0
Patch needs improvement:  0  |  Easy pickings:  0
  UI/UX:  0  |
-+-
 When running tests using a Postgres instance where the user does not have
 access to the postgres database, the database teardown fails with the
 message: {{{django.db.utils.OperationalError: cannot drop the currently
 open database}}}

 I do not see any problems on 1.8 release branch starting from the commit
 referenced in [https://code.djangoproject.com/ticket/24791]. The commit
 that was made to the master branch at  that time also works - until the
 commit to fix [https://code.djangoproject.com/ticket/25329]. That commit
 was before the branch for 1.9 was cut, so this bug affects all releases in
 the 1.9 and 1.10 series as well as the current master branch.

 I don't understand the issue well enough to resolve the apparent conflict
 between supporting MySQL and Postgres, but I do have a sample app (the
 polls tutorial) with a README that explains how to set up your database to
 reproduce the issue: [https://github.com/cnk/d110example]

--
Ticket URL: 
Django 
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/046.350e4aba9d42e53f36056efb25088588%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by Tim Graham ):

 In [changeset:"fedda6d9bdbb7624ae36a791ef91aeca9ba6ab8d" fedda6d]:
 {{{
 #!CommitTicketReference repository=""
 revision="fedda6d9bdbb7624ae36a791ef91aeca9ba6ab8d"
 Refs #23919 -- Removed Python 2 version check in django.http.cookie.
 }}}

--
Ticket URL: 
Django 
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/067.03c5e8643be2154c3910065d3d11c2fe%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #27750: TypeError when running manage.py migrate

2017-01-19 Thread Django
#27750: TypeError when running manage.py migrate
-+--
 Reporter:  Henrique Chehad  |Owner:  nobody
 Type:  Bug  |   Status:  closed
Component:  Migrations   |  Version:  1.9
 Severity:  Normal   |   Resolution:  duplicate
 Keywords:   | Triage Stage:  Unreviewed
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+--
Changes (by Tim Graham):

 * resolution:  needsinfo => duplicate


Comment:

 #24949 was to possibly implement an enhancement but at this point we're
 not going to spend time on Python 2 enhancements.

--
Ticket URL: 
Django 
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/072.f18ebadf21bc34bab61d01c832d9f0ae%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #27749: Documention change gunicorn deployment

2017-01-19 Thread Django
#27749: Documention change gunicorn deployment
-+-
 Reporter:  JorisBenschop|Owner:  nobody
 Type:   |   Status:  closed
  Cleanup/optimization   |
Component:  Documentation|  Version:  1.10
 Severity:  Normal   |   Resolution:
 |  worksforme
 Keywords:   | Triage Stage:
 |  Unreviewed
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  1|UI/UX:  0
-+-
Changes (by Tim Graham):

 * status:  new => closed
 * resolution:   => worksforme


Comment:

 I think "gunicorn just needs to be called with the location of a module
 containing a WSGI application object named application" explains the usage
 well enough If that is unclear and you want to propose some clarification,
 please do.

--
Ticket URL: 
Django 
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/071.b3298604878102f4b76c14e5693b8347%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #27750: TypeError when running manage.py migrate

2017-01-19 Thread Django
#27750: TypeError when running manage.py migrate
-+--
 Reporter:  Henrique Chehad  |Owner:  nobody
 Type:  Bug  |   Status:  closed
Component:  Migrations   |  Version:  1.9
 Severity:  Normal   |   Resolution:  needsinfo
 Keywords:   | Triage Stage:  Unreviewed
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+--

Comment (by Henrique Chehad):

 Thanks.

 The older migration file (0001_initial) that contains `artist` field was
 with bytestring. I edited it and now the `migrate` worked. It was
 affecting the current migration file (0005).

 {{{
 -('artist', models.ForeignKey(db_column=b'actor_id',
 on_delete=django.db.models.deletion.CASCADE, to='artists.Artist')),
 +('artist', models.ForeignKey(db_column='actor_id',
 on_delete=django.db.models.deletion.CASCADE, to='artists.Artist')),
 }}}


 Would be good a contribution with clearer error message or converting it
 before the `quote_name` function?


 Replying to [comment:1 Tim Graham]:
 > Did you follow the advice about
 [https://docs.djangoproject.com/en/1.10/topics/migrations/#supporting-
 python-2-and-3 supporting Python 2 and 3]? It looks like you might have a
 field in a migration that uses a bytestring (i.e. `b'artist'`). The issue
 is likely obsolete with the removal of Django's support for Python 2, but
 if you can reproduce some problem using only Python 3, please be more
 specific about the steps and provide a sample project. Thanks!

--
Ticket URL: 
Django 
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/072.ff0948af46e19d947c43f30f6c42dcab%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #27750: TypeError when running manage.py migrate

2017-01-19 Thread Django
#27750: TypeError when running manage.py migrate
-+--
 Reporter:  Henrique Chehad  |Owner:  nobody
 Type:  Bug  |   Status:  closed
Component:  Migrations   |  Version:  1.9
 Severity:  Normal   |   Resolution:  needsinfo
 Keywords:   | Triage Stage:  Unreviewed
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+--
Changes (by Tim Graham):

 * status:  new => closed
 * type:  Uncategorized => Bug
 * resolution:   => needsinfo


Comment:

 Did you follow the advice about
 [https://docs.djangoproject.com/en/1.10/topics/migrations/#supporting-
 python-2-and-3 supporting Python 2 and 3]? It looks like you might have a
 field in a migration that uses a bytestring (i.e. `b'artist'`). The issue
 is likely obsolete with the removal of Django's support for Python 2, but
 if you can reproduce some problem using only Python 3, please be more
 specific about the steps and provide a sample project. Thanks!

--
Ticket URL: 
Django 
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/072.e542c04f276967a81c3d56fd58143418%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by Tim Graham ):

 In [changeset:"eb0b921c29ace8643a5a4cd136c433727c53dead" eb0b921c]:
 {{{
 #!CommitTicketReference repository=""
 revision="eb0b921c29ace8643a5a4cd136c433727c53dead"
 Refs #23919 -- Removed SessionBase.iterkeys(), itervalues(), iteritems().

 These methods only work on Python 2.
 }}}

--
Ticket URL: 
Django 
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/067.dc03486cc26c0331a733e379369cd51f%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


[Django] #27750: TypeError when running manage.py migrate

2017-01-19 Thread Django
#27750: TypeError when running manage.py migrate
---+
   Reporter:  Henrique Chehad  |  Owner:  nobody
   Type:  Uncategorized| Status:  new
  Component:  Migrations   |Version:  1.9
   Severity:  Normal   |   Keywords:
   Triage Stage:  Unreviewed   |  Has patch:  0
Needs documentation:  0|Needs tests:  0
Patch needs improvement:  0|  Easy pickings:  0
  UI/UX:  0|
---+
 Hello,

 Is returning this error when I try to run ./manage.py migrate in a model:

 Model:

 {{{
 class Cast(models.Model):
 movie = models.ForeignKey("movies.Movie")
 artist = models.ForeignKey("artists.Artist", db_column="actor_id")
 }}}

 Migration:
 {{{
 migrations.AlterField(
 model_name='cast',
 name='artist',
 field=models.ForeignKey(db_column='actor_id',
 on_delete=django.db.models.deletion.CASCADE, to='artists.Artist'),
 ),
 }}}

 Error:

 {{{
 Traceback (most recent call last):
   File "manage.py", line 10, in 
 execute_from_command_line(sys.argv)
   File "/usr/local/lib/python3.5/site-
 packages/django/core/management/__init__.py", line 353, in
 execute_from_command_line
 utility.execute()
   File "/usr/local/lib/python3.5/site-
 packages/django/core/management/__init__.py", line 345, in execute
 self.fetch_command(subcommand).run_from_argv(self.argv)
   File "/usr/local/lib/python3.5/site-
 packages/django/core/management/base.py", line 348, in run_from_argv
 self.execute(*args, **cmd_options)
   File "/usr/local/lib/python3.5/site-
 packages/raven/contrib/django/management/__init__.py", line 41, in
 new_execute
 return original_func(self, *args, **kwargs)
   File "/usr/local/lib/python3.5/site-
 packages/django/core/management/base.py", line 399, in execute
 output = self.handle(*args, **options)
   File "/usr/local/lib/python3.5/site-
 packages/django/core/management/commands/migrate.py", line 200, in handle
 executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
   File "/usr/local/lib/python3.5/site-
 packages/django/db/migrations/executor.py", line 92, in migrate
 self._migrate_all_forwards(plan, full_plan, fake=fake,
 fake_initial=fake_initial)
   File "/usr/local/lib/python3.5/site-
 packages/django/db/migrations/executor.py", line 121, in
 _migrate_all_forwards
 state = self.apply_migration(state, migration, fake=fake,
 fake_initial=fake_initial)
   File "/usr/local/lib/python3.5/site-
 packages/django/db/migrations/executor.py", line 198, in apply_migration
 state = migration.apply(state, schema_editor)
   File "/usr/local/lib/python3.5/site-
 packages/django/db/migrations/migration.py", line 123, in apply
 operation.database_forwards(self.app_label, schema_editor, old_state,
 project_state)
   File "/usr/local/lib/python3.5/site-
 packages/django/db/migrations/operations/fields.py", line 201, in
 database_forwards
 schema_editor.alter_field(from_model, from_field, to_field)
   File "/usr/local/lib/python3.5/site-
 packages/django/db/backends/base/schema.py", line 482, in alter_field
 old_db_params, new_db_params, strict)
   File "/usr/local/lib/python3.5/site-
 packages/django/db/backends/postgresql/schema.py", line 110, in
 _alter_field
 new_db_params, strict,
   File "/usr/local/lib/python3.5/site-
 packages/django/db/backends/base/schema.py", line 545, in _alter_field
 self.execute(self._rename_field_sql(model._meta.db_table, old_field,
 new_field, new_type))
   File "/usr/local/lib/python3.5/site-
 packages/django/db/backends/base/schema.py", line 867, in
 _rename_field_sql
 "old_column": self.quote_name(old_field.column),
   File "/usr/local/lib/python3.5/site-
 packages/django/db/backends/base/schema.py", line 113, in quote_name
 return self.connection.ops.quote_name(name)
   File "/usr/local/lib/python3.5/site-
 packages/django/db/backends/postgresql/operations.py", line 95, in
 quote_name
 if name.startswith('"') and name.endswith('"'):
 TypeError: startswith first arg must be bytes or a tuple of bytes, not str
 }}}

 The error is in the field `artist` of `Cast` model, because I added a
 `print()` to discover what is the field with the error when call the
 function `quote_name` and printed `actor_id`. I commented this field in
 migration just to test and worked.

 Detail: I didn't changed anything in this fields, it's because when I
 migrated from Python 2.7.5 to Python 3.5 the verbose_name changed (removed
 the u"") and asked to generate new migrations. I think it is unnecessary.

--
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this 

Re: [Django] #24977: Template variables with a value of None are considered to be == to non-existent properties

2017-01-19 Thread Django
#24977: Template variables with a value of None are considered to be == to non-
existent properties
-+-
 Reporter:  Daniel Quinn |Owner:  Tim
 Type:   |  Martin
  Cleanup/optimization   |   Status:  assigned
Component:  Template system  |  Version:  1.7
 Severity:  Normal   |   Resolution:
 Keywords:  string, if,  | Triage Stage:  Accepted
  equivalence|
Has patch:  1|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Tim Martin):

 * has_patch:  0 => 1


Comment:

 [https://github.com/django/django/pull/7901 PR]

--
Ticket URL: 
Django 
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/069.67f8c34093e4e0294af8bf9b5492a3d6%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


[Django] #27749: Documention change gunicorn deployment

2017-01-19 Thread Django
#27749: Documention change gunicorn deployment
+
   Reporter:  JorisBenschop |  Owner:  nobody
   Type:  Cleanup/optimization  | Status:  new
  Component:  Documentation |Version:  1.10
   Severity:  Normal|   Keywords:
   Triage Stage:  Unreviewed|  Has patch:  0
Needs documentation:  0 |Needs tests:  0
Patch needs improvement:  0 |  Easy pickings:  1
  UI/UX:  0 |
+
 from
 [https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/gunicorn/]
 In section "Running Django in Gunicorn as a generic WSGI application"
 there is the suggestion to run
 {{{
 gunicorn myproject.wsgi
 }}}
 However, on my server (CentOS7) at least, django-admin does not create a
 myproject.wsgi, but a wsgi.py. Problem is that you cannot run
 {{{
 gunicorn wsgi.py
 }}}
 It will fail with the cryptic "Reason: Worker failed to boot.". Instead,
 one must run
 {{{
 gunicorn wsgi
 }}}
 (so without the .py extension)

 I have not tested this on other setups, so it could be very specific.
 Still, would it be possible to make a mention of this behaviour in the
 django documentation?

 Thanks
 Joris

--
Ticket URL: 
Django 
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.dd9a64b1b2909ce7f0cb0d3b392f41a7%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by Tim Graham ):

 In [changeset:"9ee47ce7b45eaf1a9313f8c1680649a68cbb5681" 9ee47ce7]:
 {{{
 #!CommitTicketReference repository=""
 revision="9ee47ce7b45eaf1a9313f8c1680649a68cbb5681"
 Refs #23919 -- Removed enum ImportError handling for Python 2.
 }}}

--
Ticket URL: 
Django 
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/067.15003bb1f3f62b77518428060ecd5ae1%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by GitHub ):

 In [changeset:"9d27478958b50f2f689a103e39bf998fe7486675" 9d27478]:
 {{{
 #!CommitTicketReference repository=""
 revision="9d27478958b50f2f689a103e39bf998fe7486675"
 Refs #23919 -- Removed docs references to long integers.
 }}}

--
Ticket URL: 
Django 
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/067.0ceb848f6b9476d90cbfb42254a2bb02%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23905: Use built-in email.utils.make_msgid() when dropping Python 2

2017-01-19 Thread Django
#23905: Use built-in email.utils.make_msgid() when dropping Python 2
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  closed
Component:  Core (Mail)   |  Version:  master
 Severity:  Normal|   Resolution:  fixed
 Keywords:  drop-py2  | Triage Stage:  Accepted
Has patch:  1 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+
Changes (by GitHub ):

 * status:  new => closed
 * resolution:   => fixed


Comment:

 In [changeset:"9e917cc29181ad32abc21488ee70e739ce805f3a" 9e917cc2]:
 {{{
 #!CommitTicketReference repository=""
 revision="9e917cc29181ad32abc21488ee70e739ce805f3a"
 Fixed #23905, refs #23919 -- Used make_msgid() from stdlib.
 }}}

--
Ticket URL: 
Django 
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/067.ee10bcb73de758d0c5ae680cf1c285e6%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by GitHub ):

 In [changeset:"9e917cc29181ad32abc21488ee70e739ce805f3a" 9e917cc2]:
 {{{
 #!CommitTicketReference repository=""
 revision="9e917cc29181ad32abc21488ee70e739ce805f3a"
 Fixed #23905, refs #23919 -- Used make_msgid() from stdlib.
 }}}

--
Ticket URL: 
Django 
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/067.a9e7447ea13d70411e8f22a85f84d54e%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by GitHub ):

 In [changeset:"d4bb37593ed1cc0831404b6c5e8581e628d00f3b" d4bb3759]:
 {{{
 #!CommitTicketReference repository=""
 revision="d4bb37593ed1cc0831404b6c5e8581e628d00f3b"
 Refs #23919 -- Removed obsolete compare_digest() and pbkdf2()
 implementations.
 }}}

--
Ticket URL: 
Django 
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/067.acfceeb2ba63db9394eb3c43343d9e39%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23905: Use built-in email.utils.make_msgid() when dropping Python 2

2017-01-19 Thread Django
#23905: Use built-in email.utils.make_msgid() when dropping Python 2
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Mail)   |  Version:  master
 Severity:  Normal|   Resolution:
 Keywords:  drop-py2  | Triage Stage:  Accepted
Has patch:  1 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+
Changes (by Tim Graham):

 * has_patch:  0 => 1
 * stage:  Someday/Maybe => Accepted


Comment:

 [https://github.com/django/django/pull/7895 PR]

--
Ticket URL: 
Django 
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/067.021d881101eff87cf93c3721b81e3b70%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by Simon Charette ):

 In [changeset:"9695b149820cff31cfa48973efe4256c80811e87" 9695b14]:
 {{{
 #!CommitTicketReference repository=""
 revision="9695b149820cff31cfa48973efe4256c80811e87"
 Refs #23919 -- Removed str() conversion of type and method __name__.
 }}}

--
Ticket URL: 
Django 
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/067.a4c653ee9effc7615461f0f2368f68d9%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+
Description changed by Simon Charette:

Old description:

> This is a tracking ticket of things that we can remove when we drop
> Python 2 compatibility in Django 2.0. Please edit the description of the
> ticket as you come across new items.
>
> * `django.core.mail.message.make_msgid()` #23905
> * ~~`django.dispatch.weakref_backports`~~
> * `django.http.cookie` workarounds
> * `django.utils.2to3_fixes`
> * `django.utils.decorators.ContextDecorator` -
> [https://github.com/django/django/pull/7887 PR 7887]
> * `django.utils.encoding`
>  * ~~`@python_2_unicode_compatible`~~
>  * ~~force/smart _unicode~~
>  * either force/smart _text or force/smart _str
> * `django.utils.html_parser.use_workaround`
> * `django.utils.http` functions like `urlquote_plus` -- I think the
> versions of these functions on Python 3 don't have the unicode characters
> bug we are working around.
> * ~~Stop using `django.utils.lru_cache`~~
> * Figure the deprecation plan for `django.utils.lru_cache`
> * `django.utils.six` - Remaining:
> [https://github.com/django/django/pull/7878 PR 7878]
> * ~~`from __future__ import unicode_literals`~~
> * `str()` stuff for environment variables, e.g.
> 0bfb53866199f366ed140d49938fd185e5898156
> * `str()` stuff for `type(name)` and `__name__`.
> * Inheriting from `object` in `django.core.servers.basehttp` (and perhaps
> other places) ala 4ee06ec3fc8e94d164afbd2f9c880c60c658a9ac --
> [https://github.com/django/django/pull/7881 PR 7881]
> * `git grep 'long int'` (mostly docs)
> * `django.utils._os [npath,upath]`
> * In tests: `contextlib.closing(self.urlopen` (`contextlib.closing` no
> longer needed)
> * Support for pysqlite (doesn't support Python 3)
> * Replace `super(ClassName, self)` with `super()`
> * ~~Remove `# -*- coding: utf-8 -*-` source file encoding~~ (that's the
> default on Python 3)
> * Evaluate replacement of custom `__del__` methods by
> [https://docs.python.org/3/library/weakref.html#weakref.finalize
> weakref.finalize]
> * ~~Remove `__ne__` from objects already defining a `__eq__`~~
> * Remove note about PYTHONHASHSEED (see #26243)
> * Remove Field.creation_counter (replace by metaclass `__prepare__`
> returning `OrderedDict()`,
> https://docs.python.org/3/reference/datamodel.html#preparing-the-class-
> namespace)
> * `django.test.utils.reset_warning_registry()`
> * Replace `errno` checks by `IOError` subclasses defined by
> [https://www.python.org/dev/peps/pep-3151/ PEP 3151]
> * ~~`django.utils.glob`~~
> * `django.utils.cookies.SimpleCookie`
> * `django.test.mock`
> * Replace `tempfile.mkdtemp` + remove with `tempfile.TemporaryDirectory`
> context manager
> * ~~Replace `io.open()` by a plain `open()`~~
> * Evaluate need for `assertRegex`, `assertRaisesRegex` in tests. Some
> usage is merely to account for differences in messages between Python 2
> and 3.
> * `re.U`, `re.UNICODE` (default behavior of Python 3) -
> [https://github.com/django/django/pull/7879 PR 7879]

New description:

 This is a tracking ticket of things that we can remove when we drop Python
 2 compatibility in Django 2.0. Please edit the description of the ticket
 as you come across new items.

 * `django.core.mail.message.make_msgid()` #23905
 * ~~`django.dispatch.weakref_backports`~~
 * `django.http.cookie` workarounds
 * `django.utils.2to3_fixes`
 * ~~`django.utils.decorators.ContextDecorator` ~~
 * `django.utils.encoding`
  * ~~`@python_2_unicode_compatible`~~
  * ~~force/smart _unicode~~
  * either force/smart _text or force/smart _str
 * `django.utils.html_parser.use_workaround`
 * `django.utils.http` functions like `urlquote_plus` -- I think the
 versions of these functions on Python 3 don't have the unicode characters
 bug we are working around.
 * ~~Stop using `django.utils.lru_cache`~~
 * Figure the deprecation plan for `django.utils.lru_cache`
 * `django.utils.six` - Remaining:
 [https://github.com/django/django/pull/7878 PR 7878]
 * ~~`from __future__ import unicode_literals`~~
 * `str()` stuff for environment variables, e.g.
 0bfb53866199f366ed140d49938fd185e5898156
 * ~~`str()` stuff for `type(name)` and `__name__`~~
 * ~~Inheriting from `object` in `django.core.servers.basehttp` (and
 perhaps other places) ala 

Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by Tim Graham ):

 In [changeset:"41e0033caf1267edda2b780ae50a3881c3de94ef" 41e0033c]:
 {{{
 #!CommitTicketReference repository=""
 revision="41e0033caf1267edda2b780ae50a3881c3de94ef"
 Refs #23919 -- Removed usage of django.utils.decorators.ContextDecorator.
 }}}

--
Ticket URL: 
Django 
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/067.cf2ec4b6ae5ce084e784434c9814761b%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by Simon Charette ):

 In [changeset:"4c5ed3e683576ece880ae99398a1e7d8c5829617" 4c5ed3e6]:
 {{{
 #!CommitTicketReference repository=""
 revision="4c5ed3e683576ece880ae99398a1e7d8c5829617"
 Refs #23919 -- Removed __nonzero__() methods (for Python 2).

 Thanks Tim for the review.
 }}}

--
Ticket URL: 
Django 
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/067.761e447d0c55574be5941e2425894db2%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by GitHub ):

 In [changeset:"e5c67f099159f522d140148fa1a6c876d38288f4" e5c67f0]:
 {{{
 #!CommitTicketReference repository=""
 revision="e5c67f099159f522d140148fa1a6c876d38288f4"
 Refs #23919 -- Removed reset_warning_registry() workaround for Python <
 3.4.2.
 }}}

--
Ticket URL: 
Django 
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/067.3798a48882ed48f6042eff3fbfeba676%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #27744: Complex prefetch_related broken (from 1.9 to 1.10)

2017-01-19 Thread Django
#27744: Complex prefetch_related broken (from 1.9 to 1.10)
-+-
 Reporter:  Pascal Briet |Owner:  nobody
 Type:  Bug  |   Status:  closed
Component:  Database layer   |  Version:  1.10
  (models, ORM)  |
 Severity:  Normal   |   Resolution:  duplicate
 Keywords:  prefetch | Triage Stage:
 |  Unreviewed
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-

Comment (by Pascal Briet):

 Thanks, and sorry for the duplicate

--
Ticket URL: 
Django 
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/064.b0c97e666f4aef460525b460e6ff77ef%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #21961: Add support for database-level cascading options

2017-01-19 Thread Django
#21961: Add support for database-level cascading options
-+-
 Reporter:  Christophe Pettus|Owner:  nobody
 Type:  New feature  |   Status:  new
Component:  Database layer   |  Version:  master
  (models, ORM)  |
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by André Cruz):

 * cc: andre@… (added)


--
Ticket URL: 
Django 
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/061.dc994d994914ae25b126a4505c3ab344%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+

Comment (by GitHub ):

 In [changeset:"5320fa77c3b2bc02ac232c3e0f5279d99a528e6a" 5320fa7]:
 {{{
 #!CommitTicketReference repository=""
 revision="5320fa77c3b2bc02ac232c3e0f5279d99a528e6a"
 Refs #23919 -- Removed obsolete contextlib.closing() calls (for Python 2).
 }}}

--
Ticket URL: 
Django 
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/067.d0b68358bce2cf70ee6e1d3f0b58168f%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #27655: Styleguide missing - Use single quotes instead of double quotes in string

2017-01-19 Thread Django
#27655: Styleguide missing - Use single quotes instead of double quotes in 
string
-+-
 Reporter:  Anton Samarchyan |Owner:  Tim
 Type:   |  Graham
  Cleanup/optimization   |   Status:  assigned
Component:  Documentation|  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Accepted
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  0|UI/UX:  0
-+-
Changes (by Tim Graham):

 * owner:  ChillarAnand => Tim Graham
 * easy:  1 => 0
 * stage:  Ready for checkin => Accepted


Comment:

 I'm going to add some other guidelines with common review comments that I
 make.

--
Ticket URL: 
Django 
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/065.db085e2a4ceeacfba88021dc2c741595%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #27655: Styleguide missing - Use single quotes instead of double quotes in string

2017-01-19 Thread Django
#27655: Styleguide missing - Use single quotes instead of double quotes in 
string
-+-
 Reporter:  Anton Samarchyan |Owner:  Anand
 Type:   |  Reddy Pandikunta
  Cleanup/optimization   |   Status:  assigned
Component:  Documentation|  Version:  master
 Severity:  Normal   |   Resolution:
 Keywords:   | Triage Stage:  Ready for
 |  checkin
Has patch:  0|  Needs documentation:  0
  Needs tests:  0|  Patch needs improvement:  0
Easy pickings:  1|UI/UX:  0
-+-
Changes (by Anand Reddy Pandikunta):

 * status:  new => assigned
 * owner:  nobody => Anand Reddy Pandikunta


Comment:

 PR - https://github.com/django/django/pull/7888

--
Ticket URL: 
Django 
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/065.74dcbbfc2b54bef9b5ac985347765ec1%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Django] #23919: Cleanups for when we drop Python 2 compatibility

2017-01-19 Thread Django
#23919: Cleanups for when we drop Python 2 compatibility
--+
 Reporter:  Tim Graham|Owner:  nobody
 Type:  Cleanup/optimization  |   Status:  new
Component:  Core (Other)  |  Version:
 Severity:  Normal|   Resolution:
 Keywords:| Triage Stage:  Accepted
Has patch:  0 |  Needs documentation:  0
  Needs tests:  0 |  Patch needs improvement:  0
Easy pickings:  0 |UI/UX:  0
--+
Description changed by Anand Reddy Pandikunta:

Old description:

> This is a tracking ticket of things that we can remove when we drop
> Python 2 compatibility in Django 2.0. Please edit the description of the
> ticket as you come across new items.
>
> * `django.core.mail.message.make_msgid()` #23905
> * ~~`django.dispatch.weakref_backports`~~
> * `django.http.cookie` workarounds
> * `django.utils.2to3_fixes`
> * `django.utils.decorators.ContextDecorator`
> * `django.utils.encoding`
>  * ~~`@python_2_unicode_compatible`~~
>  * ~~force/smart _unicode~~
>  * either force/smart _text or force/smart _str
> * `django.utils.html_parser.use_workaround`
> * `django.utils.http` functions like `urlquote_plus` -- I think the
> versions of these functions on Python 3 don't have the unicode characters
> bug we are working around.
> * ~~Stop using `django.utils.lru_cache`~~
> * Figure the deprecation plan for `django.utils.lru_cache`
> * `django.utils.six` - Remaining:
> [https://github.com/django/django/pull/7878 PR 7878]
> * ~~`from __future__ import unicode_literals`~~
> * `str()` stuff for environment variables, e.g.
> 0bfb53866199f366ed140d49938fd185e5898156
> * `str()` stuff for `type(name)` and `__name__`.
> * Inheriting from `object` in `django.core.servers.basehttp` (and perhaps
> other places) ala 4ee06ec3fc8e94d164afbd2f9c880c60c658a9ac --
> [https://github.com/django/django/pull/7881 PR 7881]
> * `git grep 'long int'` (mostly docs)
> * `django.utils._os [npath,upath]`
> * In tests: `contextlib.closing(self.urlopen` (`contextlib.closing` no
> longer needed)
> * Support for pysqlite (doesn't support Python 3)
> * Replace `super(ClassName, self)` with `super()`
> * ~~Remove `# -*- coding: utf-8 -*-` source file encoding~~ (that's the
> default on Python 3)
> * Evaluate replacement of custom `__del__` methods by
> [https://docs.python.org/3/library/weakref.html#weakref.finalize
> weakref.finalize]
> * ~~Remove `__ne__` from objects already defining a `__eq__`~~
> * Remove note about PYTHONHASHSEED (see #26243)
> * Remove Field.creation_counter (replace by metaclass `__prepare__`
> returning `OrderedDict()`,
> https://docs.python.org/3/reference/datamodel.html#preparing-the-class-
> namespace)
> * `django.test.utils.reset_warning_registry()`
> * Replace `errno` checks by `IOError` subclasses defined by
> [https://www.python.org/dev/peps/pep-3151/ PEP 3151]
> * ~~`django.utils.glob`~~
> * `django.utils.cookies.SimpleCookie`
> * `django.test.mock`
> * Replace `tempfile.mkdtemp` + remove with `tempfile.TemporaryDirectory`
> context manager
> * ~~Replace `io.open()` by a plain `open()`~~
> * Evaluate need for `assertRegex`, `assertRaisesRegex` in tests. Some
> usage is merely to account for differences in messages between Python 2
> and 3.
> * `re.U`, `re.UNICODE` (default behavior of Python 3) -
> [https://github.com/django/django/pull/7879 PR 7879]

New description:

 This is a tracking ticket of things that we can remove when we drop Python
 2 compatibility in Django 2.0. Please edit the description of the ticket
 as you come across new items.

 * `django.core.mail.message.make_msgid()` #23905
 * ~~`django.dispatch.weakref_backports`~~
 * `django.http.cookie` workarounds
 * `django.utils.2to3_fixes`
 * `django.utils.decorators.ContextDecorator` -
 [https://github.com/django/django/pull/7887 PR 7887]
 * `django.utils.encoding`
  * ~~`@python_2_unicode_compatible`~~
  * ~~force/smart _unicode~~
  * either force/smart _text or force/smart _str
 * `django.utils.html_parser.use_workaround`
 * `django.utils.http` functions like `urlquote_plus` -- I think the
 versions of these functions on Python 3 don't have the unicode characters
 bug we are working around.
 * ~~Stop using `django.utils.lru_cache`~~
 * Figure the deprecation plan for `django.utils.lru_cache`
 * `django.utils.six` - Remaining:
 [https://github.com/django/django/pull/7878 PR 7878]
 * ~~`from __future__ import unicode_literals`~~
 * `str()` stuff for environment variables, e.g.
 0bfb53866199f366ed140d49938fd185e5898156
 * `str()` stuff for `type(name)` and `__name__`.
 * Inheriting from `object` in `django.core.servers.basehttp` (and perhaps
 other places) ala 

[Django] #27748: Use callables as default status code handlers

2017-01-19 Thread Django
#27748: Use callables as default status code handlers
--+
   Reporter:  Dmitry Gladkov  |  Owner:  nobody
   Type:  Uncategorized   | Status:  new
  Component:  Core (URLs) |Version:  1.10
   Severity:  Normal  |   Keywords:
   Triage Stage:  Unreviewed  |  Has patch:  0
Needs documentation:  0   |Needs tests:  0
Patch needs improvement:  0   |  Easy pickings:  0
  UI/UX:  0   |
--+
 Related PR: https://github.com/django/django/pull/7858

 Django favors direct imports to import strings where possible, however
 right now default error handlers are dotted module path strings, e.g.
 `'django.views.defaults.bad_request'`.

--
Ticket URL: 
Django 
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/046.813bb6f386168439f2cc7db14ea42527%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.


[Django] #27747: Add signals for Django management commands

2017-01-19 Thread Django
#27747: Add signals for Django management commands
-+-
   Reporter:  Dmitry |  Owner:  nobody
  Gladkov|
   Type:  New| Status:  new
  feature|
  Component:  Core   |Version:  master
  (Management commands)  |
   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  |
-+-
 Related PR: https://github.com/django/django/pull/7857

 Suggested example usage (I know that a string  can't be a signal sender,
 this is just for illustrating the point):
 {{{#!python
 from django.core.management import signals


 def handle_pre(sender, instance):
 instance.stdout.write('Hello World')

 def handle_post(sender, instance):
 instance.stdout.write('Bye World')

 signals.pre_command.connect(handle_pre, sender='runserver')
 signals.post_command.connect(handle_post, sender='runsever')
 }}}

 Reasoning:

 Currently overriding of commands in Django can only be achieved by
 shadowing existing commands using `INSTALLED_APPS` initialization order.
 This is a perfectly good solution if a user needs to completely override a
 command, but it's not ideal for extending/adding functionality to existing
 commands. Extending the same command from different apps will not work as
 only the extended command from the latest `INSTALLED_APPS` entry will run
 (see Example 2).

 Some examples of actions that can be achieved using singals:

 1. Pulling remote translations before `compilemessages`.
 2. Showing coverage or/and generating xml report after `test`.
 3. Running optipng on collected static images after `collectstatic`
 4. Displaying useful information like outdated package versions before
 `runserver`.

--
Ticket URL: 
Django 
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/046.36b28dd3aed61c03394956a205d61cd5%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.