Opened 11 years ago
Closed 11 years ago
#21437 closed Bug (wontfix)
removed rel_name attribute from BaseInlineFormSet
Reported by: | jerzyk | Owned by: | nobody |
---|---|---|---|
Component: | Uncategorized | Version: | 1.6 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
django 1.6 removed rel_name atribute from BaseInlineFormSet without depreciation path or even without note in backward incompatible changes.
Change History (5)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
imho private API is everything that starts with underscore in the classes, everything else is public, documented or not. in the current 1.6 release notes there are comments about private APIs too.
I suppose it is too late for depreciation path, so update to the release notes should be fine.
comment:3 by , 11 years ago
Triage Stage: | Unreviewed → Accepted |
---|
Django doesn't distinguish between private and public api with underscore (this is mainly for historical reasons). Instead anything that is documented is public API, what isn't is private.
I guess release notes mention is OK.
comment:4 by , 11 years ago
Our policy is not to mention changes to private APIs in the release notes. That's why they're called "private".
We make exceptions when we have overwhelming evidence that an API is widely used even though it's private. I'm talking about stuff like Model._meta
or Form._errors
.
rel_name
is a fairly obscure API deep inside formsets with no clear purpose. I don't believe it crosses the threshold for a mention in the releases notes.
-0 because I don't want to get down a path where we're eventually expected to document any change we do to any private API anywhere in Django.
comment:5 by , 11 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
OK for me. I'll bounce this to wontfix then. (I am on flip-flop mood today...)
The self.rel_name attribute was never used inside Django, and it wasn't part of the public API. I am not sure what our policy of mentioning such changes in release notes is.
It seems you can get the same value by form.fk.related.get_accessor_name(). Unfortunately in some model inheritance cases that wont work, you need to reconstruct the RelatedObject by hand.