On 06/27/2014 06:41 AM, Russell Keith-Magee wrote:
> 
> On Fri, Jun 27, 2014 at 7:35 PM, Curtis Maloney
> <cur...@acommoncreative.com <mailto:cur...@acommoncreative.com>> wrote:
> 
>     Am I reading this right as "people used to commonly solve this
>     problem by using an internal API, but now we have a public one...
>     AND the old internal API is now changed"?
> 
>     If so, the solution seems obvious -- document that it's time to move
>     the the official solution :)
> 
> 
> Broadly speaking, I agree. However, my hesitation in categorically
> agreeing stems from the fact that ValidationError *is* public API. Or,
> at least, the constructor is, - but it seems a little absurd that we
> formally document a way for people to construct an object, but not to
> support any of the ways that they might have *used* that object.

I don't think there's any absurdity. The documented and supported way to
"use" ValidationError has always been to simply raise it from a clean()
or clean_field() method, in which case Django itself catches it. Calling
other undocumented methods on it it is clearly making use of unsupported
internal API.

I think Curtis is right, there is no problem with breaking use of the
undocumented API and documenting the new public API to achieve the same
thing.

Carl

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to