gtalarico / pyairtable

Python Api Client for Airtable
https://pyairtable.readthedocs.io
MIT License
784 stars 138 forks source link

ORM Batch Save Strategy #346

Closed MarleTangible closed 7 months ago

MarleTangible commented 7 months ago

My apologies if this was asked before. What's the saving strategy of ORM batch_save() method?

Does it keep a record of all the dirty records and update only those records or does it push all records regardless? I checked the source code and it looks like the library is pushing all the records but the documentation says Save a list of model instances to the Airtable API with as few network requests as possible. which made me think again.

mesozoic commented 7 months ago

Good question. "As few network requests as possible" is ambiguous and could be reworded; it only meant that we won't make an API call for each individual record (because it uses table.batch_update() and table.batch_create()). There's no implementation of "dirty state" in the ORM at the moment.