Opened 3 years ago

Closed 3 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 Changed 3 years ago by Anssi Kääriäinen

Needs documentation: unset
Needs tests: unset
Patch needs improvement: unset

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.

comment:2 Changed 3 years ago by jerzyk

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 Changed 3 years ago by Anssi Kääriäinen

Triage Stage: UnreviewedAccepted

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 Changed 3 years ago by Aymeric Augustin

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 Changed 3 years ago by Anssi Kääriäinen

Resolution: wontfix
Status: newclosed

OK for me. I'll bounce this to wontfix then. (I am on flip-flop mood today...)

Note: See TracTickets for help on using tickets.
Back to Top