diff --git a/netbox/users/models.py b/netbox/users/models.py index 52ce55e6c..160f49ac4 100644 --- a/netbox/users/models.py +++ b/netbox/users/models.py @@ -17,6 +17,7 @@ from netaddr import IPNetwork from core.models import ContentType from ipam.fields import IPNetworkField from netbox.config import get_config +from netbox.models.features import CloningMixin from utilities.querysets import RestrictedQuerySet from utilities.utils import flatten_dict from .constants import * @@ -234,7 +235,7 @@ def create_userconfig(instance, created, raw=False, **kwargs): # REST API # -class Token(models.Model): +class Token(CloningMixin, models.Model): """ An API token used for user authentication. This extends the stock model to allow each user to have multiple tokens. It also supports setting an expiration time and toggling write ability. @@ -285,6 +286,10 @@ class Token(models.Model): ), ) + clone_fields = ( + 'user', 'expires', 'write_enabled', 'description', 'allowed_ips', + ) + objects = RestrictedQuerySet.as_manager() class Meta: