#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 18 months ago by akaariai

  • 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 18 months 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 18 months ago by akaariai

  • Triage Stage changed from Unreviewed to 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 Changed 18 months ago by aaugustin

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 18 months ago by akaariai

  • Resolution set to wontfix
  • Status changed from new to closed

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