From 9f89d920a10ed443e1871a6232ba1655219bf617 Mon Sep 17 00:00:00 2001 From: Jonathan Moyes Date: Wed, 9 Oct 2024 16:58:13 -0600 Subject: [PATCH] Support foreign key props to service, without service support for @odata.bind --- odata/state.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/odata/state.py b/odata/state.py index 2162f0e..45ec04f 100644 --- a/odata/state.py +++ b/odata/state.py @@ -259,6 +259,14 @@ def _clean_new_entity(self, entity): else: if value.__odata__.id: insert_data['{0}@odata.bind'.format(prop.name)] = value.__odata__.id + + # Put the foreign key back into the request for compatibility with + # systems that don't handle {entity} odata.bind correctly + try: + insert_data[prop.foreign_key] = getattr(value, prop.foreign_key) + except: + pass + else: insert_data[prop.name] = self._clean_new_entity(value)