mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-27 01:36:11 -06:00
11933 saved filters clone of content-types and add m2m field cloning
This commit is contained in:
parent
8d25d7812c
commit
2fa87131cb
@ -406,7 +406,7 @@ class SavedFilter(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge
|
|||||||
parameters = models.JSONField()
|
parameters = models.JSONField()
|
||||||
|
|
||||||
clone_fields = (
|
clone_fields = (
|
||||||
'enabled', 'weight',
|
'content_types', 'weight', 'enabled', 'parameters',
|
||||||
)
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -110,6 +110,11 @@ class CloningMixin(models.Model):
|
|||||||
|
|
||||||
for field_name in getattr(self, 'clone_fields', []):
|
for field_name in getattr(self, 'clone_fields', []):
|
||||||
field = self._meta.get_field(field_name)
|
field = self._meta.get_field(field_name)
|
||||||
|
if isinstance(field, models.ManyToManyField):
|
||||||
|
m2m = getattr(self, field.name)
|
||||||
|
if m2m:
|
||||||
|
attrs[field_name] = [f.pk for f in m2m.all()]
|
||||||
|
else:
|
||||||
field_value = field.value_from_object(self)
|
field_value = field.value_from_object(self)
|
||||||
if field_value not in (None, ''):
|
if field_value not in (None, ''):
|
||||||
attrs[field_name] = field_value
|
attrs[field_name] = field_value
|
||||||
|
Loading…
Reference in New Issue
Block a user