| 1308 | signals.post_save.connect(self.on_document_pre_save, sender=self.document_type) |
| 1309 | |
| 1310 | def on_document_pre_save(self, sender, document, created, **kwargs): |
| 1311 | if created: |
| 1312 | return None |
| 1313 | |
| 1314 | update_kwargs = { |
| 1315 | f"set__{self.name}__{key}": val |
| 1316 | for key, val in document._delta()[0].items() |
| 1317 | if key in self.fields |
| 1318 | } |
| 1319 | if update_kwargs: |
| 1320 | filter_kwargs = {} |
| 1321 | filter_kwargs[self.name] = document |
| 1322 | |
| 1323 | self.owner_document.objects(**filter_kwargs).update(**update_kwargs) |
| 1324 | |
| 1325 | def to_python(self, value): |
| 1326 | if isinstance(value, dict): |