Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: FROWNINGdev/django-orm-lens
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.14.0
Choose a base ref
...
head repository: FROWNINGdev/django-orm-lens
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.15.0
Choose a head ref
  • 1 commit
  • 4 files changed
  • 1 contributor

Commits on Aug 20, 2026

  1. feat(completions): offer reverse accessors

    Django puts an accessor on the target of every relation, named by
    related_name or by the declaring model in lower case. Those are as valid
    in a lookup as any declared column, and they are invisible in
    ParsedModel.fields, which holds only what a model declares itself.
    
    So the "one" side of every ForeignKey in a project offered nothing but
    its own columns. Author.objects.filter( gave `name, pk` and stopped,
    while Author.objects.filter(books__title=...) is ordinary Django. Found
    by probing the shipped v0.14.0 against real parser output rather than
    against the fixture it was written with.
    
    related_name='+' is Django's opt-out and suppresses the accessor
    entirely, so those are skipped — offering one would name something that
    does not exist.
    
    Sorting is now four groups: declared fields, forward relations, reverse
    accessors, lookups. A lookup never pushes a field name down the list,
    since a lookup is what you reach for after picking a field.
    
    196 tests pass, up from 188.
    FROWNINGdev committed Aug 20, 2026
    Configuration menu
    Copy the full SHA
    d4e635a View commit details
    Browse the repository at this point in the history
Loading