Context manager for temporarily disabling a Field's auto-dereferencing (meant to be used from no_dereference context manager)
(*fields)
| 20 | |
| 21 | @contextlib.contextmanager |
| 22 | def _no_dereference_for_fields(*fields): |
| 23 | """Context manager for temporarily disabling a Field's auto-dereferencing |
| 24 | (meant to be used from no_dereference context manager)""" |
| 25 | try: |
| 26 | for field in fields: |
| 27 | field._incr_no_dereference_context() |
| 28 | yield None |
| 29 | finally: |
| 30 | for field in fields: |
| 31 | field._decr_no_dereference_context() |
| 32 | |
| 33 | |
| 34 | class BaseField: |