#22806 closed Cleanup/optimization (invalid)

Some lookups/transforms don't have lookup_name

Reported by: jorgecarleitao Owned by: nobody
Component: contrib.postgres Version: master
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

because RegisterLookupMixin.register_lookup requires the lookup to have a lookup_name, any transformation or lookup without it raises an AttributeError when registered.

in contrib.postgres.fields.array, some Transforms don't have lookup_name defined.

One will have to check out if we are missing any other.

Change History (4)

comment:1 Changed 12 months ago by timo

  • Component changed from Database layer (models, ORM) to contrib.postgres
  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Triage Stage changed from Unreviewed to Accepted

comment:2 Changed 11 months ago by mjtamlyn

IndexTransform and SliceTransform do not have lookup_name defined at the moment. However they are not designed to be registered using register_lookup at the moment. I guess this could be a reasonable use case on a third party field somehow?

Can you expand on why this is causing you a problem?

comment:3 Changed 11 months ago by jorgecarleitao

  • Type changed from Bug to Cleanup/optimization

I reported this when I was writing the API references of lookups. Only later I understood that only Transform and Lookup are to be registered (now documented). So, this is now more a cleanup / internals consistency than a bug. I changed it accordingly. Maybe it is not a ticket at all at the moment.

comment:4 Changed 10 months ago by mjtamlyn

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

OK, I'm going to close this for now as I don't think it is an issue in this case. If someone has a genuine use case then we can add it, but I believe the way they are written means they cannot be used directly with register_lookup because their __init__ signature is wrong - you need the factory.

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