Hello, the select_related change was a really good one, after updating I 
found around 3 or 4 queries that had a typo in select_related which was 
obviously never noticed before. In this project finding those errors was 
not complicated at all, but I believe that on a big project that also has 
poor testing, that change might have given the team a few days/weeks of bug 
hunting.
Now the question is, even if it goes through a deprecation cycle, what if 
the team isn't even looking at debug warnings? The issues might still go 
undetected until it is too late and start crashing everywhere, so I'm not 
really sure how big of a difference it would have made.

El lunes, 21 de diciembre de 2015, 12:09:31 (UTC-3), Tim Graham escribió:
>
> I'd like to ask for opinions about whether or not deprecations are more 
> useful than making small backwards incompatible changes when they move 
> Django in a direction toward unhiding probable developer error.
>
> An example from a past release is the validation of fields in 
> select_related() [1]. This was done as a backwards-incompatible change in 
> 1.8: invalid fields immediately raised an error. Would you rather a change 
> like that go through the normal deprecation cycle (pending deprecation, 
> deprecation, error)? My reasoning against it is that it continues to hide 
> probable errors in new and old code (especially in the first release since 
> PendingDeprecationWarning isn't loud by default) and the cost for users of 
> fixing existing code is likely low compared to the overhead of a 
> deprecation cycle in Django. Did anyone find this was not the case in their 
> own projects?
>
> The question came up again with the behavior of the default error views 
> silencing TemplateDoesNotExist when a custom template name is specified [2].
>
> [1] 
> https://docs.djangoproject.com/en/dev/releases/1.8/#select-related-now-checks-given-fields
> [2] https://code.djangoproject.com/ticket/25697
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" 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].
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/cf412600-9f63-44ed-b867-393610e0d7f7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to