pyairtable icon indicating copy to clipboard operation
pyairtable copied to clipboard

There should be a way to always set `return_fields_by_field_id` to `True` on all supported calls.

Open jonathanlaniado opened this issue 1 year ago • 5 comments

Is this already supported? If so, I have not been able to find it. If not, then it would be a welcome feature addition!

jonathanlaniado avatar Apr 16 '24 16:04 jonathanlaniado

This isn't supported today by the "traditional" API, but #355 added the ability to set this on every ORM model. That will be part of the 3.0 release.

If we wanted this to be a global setting, I think we'd need to add it as an optional parameter to the Api constructor, and we'd need to use that as the default value in places like this and this.

Is there a reason it's challenging to pass this flag to the API calls you're making?

mesozoic avatar Apr 17 '24 16:04 mesozoic

If we wanted this to be a global setting, I think we'd need to add it as an optional parameter to the Api constructor, and we'd need to use that as the default value in places like this and this.

I'd love to see this happen. This is a great approach for implementation.

Is there a reason it's challenging to pass this flag to the API calls you're making?

It's not challenging as much as it is verbose. In large projects, it becomes redundant and wordy. Additionally, it's easy to forget to set it which can be frustrating in testing.

jonathanlaniado avatar Apr 18 '24 04:04 jonathanlaniado

The tradeoff is a slightly more opaque API, because at the point where you're calling table.all() you don't necessarily know whether it's returning field names or field IDs. However, since the default behavior won't change, I'm not opposed to adding this in as long as it's well-tested. Pull requests are welcome! (Please read our contribution guidelines first.)

mesozoic avatar Apr 18 '24 21:04 mesozoic

The tradeoff is a slightly more opaque API, because at the point where you're calling table.all() you don't necessarily know whether it's returning field names or field IDs. However, since the default behavior won't change, I'm not opposed to adding this in as long as it's well-tested. Pull requests are welcome! (Please read our contribution guidelines first.)

So basically taking the functionality of what is present in the ORM but for general API calls?

BAPCon avatar Apr 23 '24 02:04 BAPCon

Same idea, yes.

mesozoic avatar Apr 25 '24 06:04 mesozoic