Fix plugin pickeling (#5412)

This commit is contained in:
Lukas 2023-08-09 13:18:21 +02:00 committed by GitHub
parent af14cef29c
commit 1fe382e318
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -103,6 +103,12 @@ class PluginConfig(InvenTree.models.MetadataMixin, models.Model):
# Save plugin
self.plugin: InvenTreePlugin = plugin
def __getstate__(self):
"""Customize pickeling behaviour."""
state = super().__getstate__()
state.pop("plugin", None) # plugin cannot be pickelt in some circumstances when used with drf views, remove it (#5408)
return state
def save(self, force_insert=False, force_update=False, *args, **kwargs):
"""Extend save method to reload plugins if the 'active' status changes."""
reload = kwargs.pop('no_reload', False) # check if no_reload flag is set