12794 change User ref to get_user_model

This commit is contained in:
Arthur 2023-06-14 13:58:38 -07:00
parent b4a3156046
commit 66db448bf8
34 changed files with 159 additions and 149 deletions

View File

@ -1,5 +1,5 @@
from django import forms from django import forms
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
@ -105,7 +105,7 @@ class JobFilterForm(SavedFiltersMixin, FilterForm):
widget=DateTimePicker() widget=DateTimePicker()
) )
user = DynamicModelMultipleChoiceField( user = DynamicModelMultipleChoiceField(
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
required=False, required=False,
label=_('User'), label=_('User'),
widget=APISelectMultiple( widget=APISelectMultiple(

View File

@ -5,7 +5,7 @@ import sys
from django import get_version from django import get_version
from django.apps import apps from django.apps import apps
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.core.management.base import BaseCommand from django.core.management.base import BaseCommand
@ -60,7 +60,7 @@ class Command(BaseCommand):
# Additional objects to include # Additional objects to include
namespace['ContentType'] = ContentType namespace['ContentType'] = ContentType
namespace['User'] = User namespace['User'] = get_user_model()
# Load convenience commands # Load convenience commands
namespace.update({ namespace.update({

View File

@ -1,7 +1,7 @@
import uuid import uuid
import django_rq import django_rq
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.core.validators import MinValueValidator from django.core.validators import MinValueValidator
@ -69,7 +69,7 @@ class Job(models.Model):
blank=True blank=True
) )
user = models.ForeignKey( user = models.ForeignKey(
to=User, to=get_user_model(),
on_delete=models.SET_NULL, on_delete=models.SET_NULL,
related_name='+', related_name='+',
blank=True, blank=True,

View File

@ -1,5 +1,5 @@
import django_filters import django_filters
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
from extras.filtersets import LocalConfigContextFilterSet from extras.filtersets import LocalConfigContextFilterSet
@ -395,12 +395,12 @@ class RackReservationFilterSet(NetBoxModelFilterSet, TenancyFilterSet):
label=_('Location (slug)'), label=_('Location (slug)'),
) )
user_id = django_filters.ModelMultipleChoiceFilter( user_id = django_filters.ModelMultipleChoiceFilter(
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
label=_('User (ID)'), label=_('User (ID)'),
) )
user = django_filters.ModelMultipleChoiceFilter( user = django_filters.ModelMultipleChoiceFilter(
field_name='user__username', field_name='user__username',
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
to_field_name='username', to_field_name='username',
label=_('User (name)'), label=_('User (name)'),
) )

View File

@ -1,6 +1,6 @@
from django import forms from django import forms
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
from timezone_field import TimeZoneFormField from timezone_field import TimeZoneFormField
@ -322,7 +322,7 @@ class RackBulkEditForm(NetBoxModelBulkEditForm):
class RackReservationBulkEditForm(NetBoxModelBulkEditForm): class RackReservationBulkEditForm(NetBoxModelBulkEditForm):
user = forms.ModelChoiceField( user = forms.ModelChoiceField(
queryset=User.objects.order_by( queryset=get_user_model().objects.order_by(
'username' 'username'
), ),
required=False required=False

View File

@ -1,5 +1,5 @@
from django import forms from django import forms
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
from dcim.choices import * from dcim.choices import *
@ -376,7 +376,7 @@ class RackReservationFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
label=_('Rack') label=_('Rack')
) )
user_id = DynamicModelMultipleChoiceField( user_id = DynamicModelMultipleChoiceField(
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
required=False, required=False,
label=_('User'), label=_('User'),
widget=APISelectMultiple( widget=APISelectMultiple(

View File

@ -1,5 +1,5 @@
from django import forms from django import forms
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
from timezone_field import TimeZoneFormField from timezone_field import TimeZoneFormField
@ -236,7 +236,7 @@ class RackReservationForm(TenancyForm, NetBoxModelForm):
help_text=_("Comma-separated list of numeric unit IDs. A range may be specified using a hyphen.") help_text=_("Comma-separated list of numeric unit IDs. A range may be specified using a hyphen.")
) )
user = forms.ModelChoiceField( user = forms.ModelChoiceField(
queryset=User.objects.order_by( queryset=get_user_model().objects.order_by(
'username' 'username'
) )
) )

View File

@ -1,7 +1,7 @@
import decimal import decimal
from functools import cached_property from functools import cached_property
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.fields import GenericRelation from django.contrib.contenttypes.fields import GenericRelation
from django.contrib.postgres.fields import ArrayField from django.contrib.postgres.fields import ArrayField
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
@ -505,7 +505,7 @@ class RackReservation(PrimaryModel):
null=True null=True
) )
user = models.ForeignKey( user = models.ForeignKey(
to=User, to=get_user_model(),
on_delete=models.PROTECT on_delete=models.PROTECT
) )
description = models.CharField( description = models.CharField(

View File

@ -1,4 +1,4 @@
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.test import override_settings from django.test import override_settings
from django.urls import reverse from django.urls import reverse
from rest_framework import status from rest_framework import status
@ -363,7 +363,7 @@ class RackReservationTest(APIViewTestCases.APIViewTestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
user = User.objects.create(username='user1', is_active=True) user = get_user_model().objects.create(username='user1', is_active=True)
site = Site.objects.create(name='Test Site 1', slug='test-site-1') site = Site.objects.create(name='Test Site 1', slug='test-site-1')
racks = ( racks = (

View File

@ -1,4 +1,4 @@
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.test import TestCase from django.test import TestCase
from dcim.choices import * from dcim.choices import *
@ -593,11 +593,11 @@ class RackReservationTestCase(TestCase, ChangeLoggedFilterSetTests):
Rack.objects.bulk_create(racks) Rack.objects.bulk_create(racks)
users = ( users = (
User(username='User 1'), get_user_model()(username='User 1'),
User(username='User 2'), get_user_model()(username='User 2'),
User(username='User 3'), get_user_model()(username='User 3'),
) )
User.objects.bulk_create(users) get_user_model().objects.bulk_create(users)
tenant_groups = ( tenant_groups = (
TenantGroup(name='Tenant group 1', slug='tenant-group-1'), TenantGroup(name='Tenant group 1', slug='tenant-group-1'),
@ -650,7 +650,7 @@ class RackReservationTestCase(TestCase, ChangeLoggedFilterSetTests):
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_user(self): def test_user(self):
users = User.objects.all()[:2] users = get_user_model().objects.all()[:2]
params = {'user_id': [users[0].pk, users[1].pk]} params = {'user_id': [users[0].pk, users[1].pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
params = {'user': [users[0].username, users[1].username]} params = {'user': [users[0].username, users[1].username]}

View File

@ -6,7 +6,7 @@ except ImportError:
from backports.zoneinfo import ZoneInfo from backports.zoneinfo import ZoneInfo
import yaml import yaml
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.test import override_settings from django.test import override_settings
from django.urls import reverse from django.urls import reverse
@ -288,8 +288,8 @@ class RackReservationTestCase(ViewTestCases.PrimaryObjectViewTestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
user2 = User.objects.create_user(username='testuser2') user2 = get_user_model().objects.create_user(username='testuser2')
user3 = User.objects.create_user(username='testuser3') user3 = get_user_model().objects.create_user(username='testuser3')
site = Site.objects.create(name='Site 1', slug='site-1') site = Site.objects.create(name='Site 1', slug='site-1')

View File

@ -1,4 +1,4 @@
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from rest_framework import serializers from rest_framework import serializers
@ -256,7 +256,7 @@ class JournalEntrySerializer(NetBoxModelSerializer):
assigned_object = serializers.SerializerMethodField(read_only=True) assigned_object = serializers.SerializerMethodField(read_only=True)
created_by = serializers.PrimaryKeyRelatedField( created_by = serializers.PrimaryKeyRelatedField(
allow_null=True, allow_null=True,
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
required=False, required=False,
default=serializers.CurrentUserDefault() default=serializers.CurrentUserDefault()
) )

View File

@ -1,5 +1,5 @@
import django_filters import django_filters
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.db.models import Q from django.db.models import Q
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
@ -159,12 +159,12 @@ class SavedFilterFilterSet(BaseFilterSet):
) )
content_types = ContentTypeFilter() content_types = ContentTypeFilter()
user_id = django_filters.ModelMultipleChoiceFilter( user_id = django_filters.ModelMultipleChoiceFilter(
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
label=_('User (ID)'), label=_('User (ID)'),
) )
user = django_filters.ModelMultipleChoiceFilter( user = django_filters.ModelMultipleChoiceFilter(
field_name='user__username', field_name='user__username',
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
to_field_name='username', to_field_name='username',
label=_('User (name)'), label=_('User (name)'),
) )
@ -223,12 +223,12 @@ class JournalEntryFilterSet(NetBoxModelFilterSet):
queryset=ContentType.objects.all() queryset=ContentType.objects.all()
) )
created_by_id = django_filters.ModelMultipleChoiceFilter( created_by_id = django_filters.ModelMultipleChoiceFilter(
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
label=_('User (ID)'), label=_('User (ID)'),
) )
created_by = django_filters.ModelMultipleChoiceFilter( created_by = django_filters.ModelMultipleChoiceFilter(
field_name='created_by__username', field_name='created_by__username',
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
to_field_name='username', to_field_name='username',
label=_('User (name)'), label=_('User (name)'),
) )
@ -510,12 +510,12 @@ class ObjectChangeFilterSet(BaseFilterSet):
queryset=ContentType.objects.all() queryset=ContentType.objects.all()
) )
user_id = django_filters.ModelMultipleChoiceFilter( user_id = django_filters.ModelMultipleChoiceFilter(
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
label=_('User (ID)'), label=_('User (ID)'),
) )
user = django_filters.ModelMultipleChoiceFilter( user = django_filters.ModelMultipleChoiceFilter(
field_name='user__username', field_name='user__username',
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
to_field_name='username', to_field_name='username',
label=_('User name'), label=_('User name'),
) )

View File

@ -1,5 +1,5 @@
from django import forms from django import forms
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
@ -385,7 +385,7 @@ class JournalEntryFilterForm(NetBoxModelFilterSetForm):
widget=DateTimePicker() widget=DateTimePicker()
) )
created_by_id = DynamicModelMultipleChoiceField( created_by_id = DynamicModelMultipleChoiceField(
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
required=False, required=False,
label=_('User'), label=_('User'),
widget=APISelectMultiple( widget=APISelectMultiple(
@ -429,7 +429,7 @@ class ObjectChangeFilterForm(SavedFiltersMixin, FilterForm):
required=False required=False
) )
user_id = DynamicModelMultipleChoiceField( user_id = DynamicModelMultipleChoiceField(
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
required=False, required=False,
label=_('User'), label=_('User'),
widget=APISelectMultiple( widget=APISelectMultiple(

View File

@ -4,7 +4,7 @@ import sys
import traceback import traceback
import uuid import uuid
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.core.management.base import BaseCommand, CommandError from django.core.management.base import BaseCommand, CommandError
from django.db import transaction from django.db import transaction
@ -78,11 +78,11 @@ class Command(BaseCommand):
# Take user from command line if provided and exists, other # Take user from command line if provided and exists, other
if options['user']: if options['user']:
try: try:
user = User.objects.get(username=options['user']) user = get_user_model().objects.get(username=options['user'])
except User.DoesNotExist: except get_user_model().DoesNotExist:
user = User.objects.filter(is_superuser=True).order_by('pk')[0] user = get_user_model().objects.filter(is_superuser=True).order_by('pk')[0]
else: else:
user = User.objects.filter(is_superuser=True).order_by('pk')[0] user = get_user_model().objects.filter(is_superuser=True).order_by('pk')[0]
# Setup logging to Stdout # Setup logging to Stdout
formatter = logging.Formatter(f'[%(asctime)s][%(levelname)s] - %(message)s') formatter = logging.Formatter(f'[%(asctime)s][%(levelname)s] - %(message)s')
@ -113,7 +113,7 @@ class Command(BaseCommand):
job = Job.objects.create( job = Job.objects.create(
object=module, object=module,
name=script.name, name=script.name,
user=User.objects.filter(is_superuser=True).order_by('pk')[0], user=get_user_model().objects.filter(is_superuser=True).order_by('pk')[0],
job_id=uuid.uuid4() job_id=uuid.uuid4()
) )

View File

@ -1,4 +1,4 @@
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.db import models from django.db import models
@ -24,7 +24,7 @@ class ObjectChange(models.Model):
db_index=True db_index=True
) )
user = models.ForeignKey( user = models.ForeignKey(
to=User, to=get_user_model(),
on_delete=models.SET_NULL, on_delete=models.SET_NULL,
related_name='changes', related_name='changes',
blank=True, blank=True,

View File

@ -3,7 +3,7 @@ import urllib.parse
from django.conf import settings from django.conf import settings
from django.contrib import admin from django.contrib import admin
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.fields import GenericForeignKey from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.core.cache import cache from django.core.cache import cache
@ -419,7 +419,7 @@ class SavedFilter(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel):
blank=True blank=True
) )
user = models.ForeignKey( user = models.ForeignKey(
to=User, to=get_user_model(),
on_delete=models.SET_NULL, on_delete=models.SET_NULL,
blank=True, blank=True,
null=True null=True
@ -560,7 +560,7 @@ class JournalEntry(CustomFieldsMixin, CustomLinksMixin, TagsMixin, ExportTemplat
fk_field='assigned_object_id' fk_field='assigned_object_id'
) )
created_by = models.ForeignKey( created_by = models.ForeignKey(
to=User, to=get_user_model(),
on_delete=models.SET_NULL, on_delete=models.SET_NULL,
blank=True, blank=True,
null=True null=True

View File

@ -1,6 +1,6 @@
import datetime import datetime
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.urls import reverse from django.urls import reverse
from django.utils.timezone import make_aware from django.utils.timezone import make_aware
@ -396,7 +396,7 @@ class JournalEntryTest(APIViewTestCases.APIViewTestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
user = User.objects.first() user = get_user_model().objects.first()
site = Site.objects.create(name='Site 1', slug='site-1') site = Site.objects.create(name='Site 1', slug='site-1')
journal_entries = ( journal_entries = (

View File

@ -1,7 +1,7 @@
import uuid import uuid
from datetime import datetime, timezone from datetime import datetime, timezone
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.test import TestCase from django.test import TestCase
@ -278,11 +278,11 @@ class SavedFilterTestCase(TestCase, BaseFilterSetTests):
content_types = ContentType.objects.filter(model__in=['site', 'rack', 'device']) content_types = ContentType.objects.filter(model__in=['site', 'rack', 'device'])
users = ( users = (
User(username='User 1'), get_user_model()(username='User 1'),
User(username='User 2'), get_user_model()(username='User 2'),
User(username='User 3'), get_user_model()(username='User 3'),
) )
User.objects.bulk_create(users) get_user_model().objects.bulk_create(users)
saved_filters = ( saved_filters = (
SavedFilter( SavedFilter(
@ -332,7 +332,7 @@ class SavedFilterTestCase(TestCase, BaseFilterSetTests):
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
def test_user(self): def test_user(self):
users = User.objects.filter(username__startswith='User') users = get_user_model().objects.filter(username__startswith='User')
params = {'user': [users[0].username, users[1].username]} params = {'user': [users[0].username, users[1].username]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
params = {'user_id': [users[0].pk, users[1].pk]} params = {'user_id': [users[0].pk, users[1].pk]}
@ -493,11 +493,11 @@ class JournalEntryTestCase(TestCase, ChangeLoggedFilterSetTests):
Rack.objects.bulk_create(racks) Rack.objects.bulk_create(racks)
users = ( users = (
User(username='Alice'), get_user_model()(username='Alice'),
User(username='Bob'), get_user_model()(username='Bob'),
User(username='Charlie'), get_user_model()(username='Charlie'),
) )
User.objects.bulk_create(users) get_user_model().objects.bulk_create(users)
journal_entries = ( journal_entries = (
JournalEntry( JournalEntry(
@ -540,7 +540,7 @@ class JournalEntryTestCase(TestCase, ChangeLoggedFilterSetTests):
JournalEntry.objects.bulk_create(journal_entries) JournalEntry.objects.bulk_create(journal_entries)
def test_created_by(self): def test_created_by(self):
users = User.objects.filter(username__in=['Alice', 'Bob']) users = get_user_model().objects.filter(username__in=['Alice', 'Bob'])
params = {'created_by': [users[0].username, users[1].username]} params = {'created_by': [users[0].username, users[1].username]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
params = {'created_by_id': [users[0].pk, users[1].pk]} params = {'created_by_id': [users[0].pk, users[1].pk]}
@ -865,11 +865,11 @@ class ObjectChangeTestCase(TestCase, BaseFilterSetTests):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
users = ( users = (
User(username='user1'), get_user_model()(username='user1'),
User(username='user2'), get_user_model()(username='user2'),
User(username='user3'), get_user_model()(username='user3'),
) )
User.objects.bulk_create(users) get_user_model().objects.bulk_create(users)
site = Site.objects.create(name='Test Site 1', slug='test-site-1') site = Site.objects.create(name='Test Site 1', slug='test-site-1')
ipaddress = IPAddress.objects.create(address='192.0.2.1/24') ipaddress = IPAddress.objects.create(address='192.0.2.1/24')
@ -933,7 +933,7 @@ class ObjectChangeTestCase(TestCase, BaseFilterSetTests):
ObjectChange.objects.bulk_create(object_changes) ObjectChange.objects.bulk_create(object_changes)
def test_user(self): def test_user(self):
params = {'user_id': User.objects.filter(username__in=['user1', 'user2']).values_list('pk', flat=True)} params = {'user_id': get_user_model().objects.filter(username__in=['user1', 'user2']).values_list('pk', flat=True)}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)
params = {'user': ['user1', 'user2']} params = {'user': ['user1', 'user2']}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4)

View File

@ -1,7 +1,7 @@
import urllib.parse import urllib.parse
import uuid import uuid
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.urls import reverse from django.urls import reverse
@ -115,11 +115,11 @@ class SavedFilterTestCase(ViewTestCases.PrimaryObjectViewTestCase):
site_ct = ContentType.objects.get_for_model(Site) site_ct = ContentType.objects.get_for_model(Site)
users = ( users = (
User(username='User 1'), get_user_model()(username='User 1'),
User(username='User 2'), get_user_model()(username='User 2'),
User(username='User 3'), get_user_model()(username='User 3'),
) )
User.objects.bulk_create(users) get_user_model().objects.bulk_create(users)
saved_filters = ( saved_filters = (
SavedFilter( SavedFilter(
@ -412,7 +412,7 @@ class ObjectChangeTestCase(TestCase):
site.save() site.save()
# Create three ObjectChanges # Create three ObjectChanges
user = User.objects.create_user(username='testuser2') user = get_user_model().objects.create_user(username='testuser2')
for i in range(1, 4): for i in range(1, 4):
oc = site.to_objectchange(action=ObjectChangeActionChoices.ACTION_UPDATE) oc = site.to_objectchange(action=ObjectChangeActionChoices.ACTION_UPDATE)
oc.user = user oc.user = user
@ -423,7 +423,7 @@ class ObjectChangeTestCase(TestCase):
url = reverse('extras:objectchange_list') url = reverse('extras:objectchange_list')
params = { params = {
"user": User.objects.first().pk, "user": get_user_model().objects.first().pk,
} }
response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params))) response = self.client.get('{}?{}'.format(url, urllib.parse.urlencode(params)))
@ -452,7 +452,7 @@ class JournalEntryTestCase(
site_ct = ContentType.objects.get_for_model(Site) site_ct = ContentType.objects.get_for_model(Site)
site = Site.objects.create(name='Site 1', slug='site-1') site = Site.objects.create(name='Site 1', slug='site-1')
user = User.objects.create(username='User 1') user = get_user_model().objects.create(username='User 1')
JournalEntry.objects.bulk_create(( JournalEntry.objects.bulk_create((
JournalEntry(assigned_object=site, created_by=user, comments='First entry'), JournalEntry(assigned_object=site, created_by=user, comments='First entry'),

View File

@ -1,7 +1,8 @@
import datetime import datetime
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import Group, User from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.test import Client from django.test import Client
from django.test.utils import override_settings from django.test.utils import override_settings
@ -87,7 +88,7 @@ class ExternalAuthenticationTestCase(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
cls.user = User.objects.create(username='remoteuser1') cls.user = get_user_model().objects.create(username='remoteuser1')
def setUp(self): def setUp(self):
self.client = Client() self.client = Client()
@ -169,7 +170,7 @@ class ExternalAuthenticationTestCase(TestCase):
response = self.client.get(reverse('home'), follow=True, **headers) response = self.client.get(reverse('home'), follow=True, **headers)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
self.user = User.objects.get(username='remoteuser1') self.user = get_user_model().objects.get(username='remoteuser1')
self.assertEqual(self.user.first_name, "John", msg='User first name was not updated') self.assertEqual(self.user.first_name, "John", msg='User first name was not updated')
self.assertEqual(self.user.last_name, "Smith", msg='User last name was not updated') self.assertEqual(self.user.last_name, "Smith", msg='User last name was not updated')
self.assertEqual(self.user.email, "johnsmith@example.com", msg='User email was not updated') self.assertEqual(self.user.email, "johnsmith@example.com", msg='User email was not updated')
@ -195,7 +196,7 @@ class ExternalAuthenticationTestCase(TestCase):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
# Local user should have been automatically created # Local user should have been automatically created
new_user = User.objects.get(username='remoteuser2') new_user = get_user_model().objects.get(username='remoteuser2')
self.assertEqual(int(self.client.session.get( self.assertEqual(int(self.client.session.get(
'_auth_user_id')), new_user.pk, msg='Authentication failed') '_auth_user_id')), new_user.pk, msg='Authentication failed')
@ -230,7 +231,7 @@ class ExternalAuthenticationTestCase(TestCase):
response = self.client.get(reverse('home'), follow=True, **headers) response = self.client.get(reverse('home'), follow=True, **headers)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
new_user = User.objects.get(username='remoteuser2') new_user = get_user_model().objects.get(username='remoteuser2')
self.assertEqual(int(self.client.session.get( self.assertEqual(int(self.client.session.get(
'_auth_user_id')), new_user.pk, msg='Authentication failed') '_auth_user_id')), new_user.pk, msg='Authentication failed')
self.assertListEqual( self.assertListEqual(
@ -262,7 +263,7 @@ class ExternalAuthenticationTestCase(TestCase):
response = self.client.get(reverse('home'), follow=True, **headers) response = self.client.get(reverse('home'), follow=True, **headers)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
new_user = User.objects.get(username='remoteuser2') new_user = get_user_model().objects.get(username='remoteuser2')
self.assertEqual(int(self.client.session.get( self.assertEqual(int(self.client.session.get(
'_auth_user_id')), new_user.pk, msg='Authentication failed') '_auth_user_id')), new_user.pk, msg='Authentication failed')
self.assertTrue(new_user.has_perms( self.assertTrue(new_user.has_perms(
@ -302,7 +303,7 @@ class ExternalAuthenticationTestCase(TestCase):
response = self.client.get(reverse('home'), follow=True, **headers) response = self.client.get(reverse('home'), follow=True, **headers)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
new_user = User.objects.get(username='remoteuser2') new_user = get_user_model().objects.get(username='remoteuser2')
self.assertEqual(int(self.client.session.get( self.assertEqual(int(self.client.session.get(
'_auth_user_id')), new_user.pk, msg='Authentication failed') '_auth_user_id')), new_user.pk, msg='Authentication failed')
self.assertListEqual( self.assertListEqual(
@ -343,7 +344,7 @@ class ExternalAuthenticationTestCase(TestCase):
response = self.client.get(reverse("home"), follow=True, **headers) response = self.client.get(reverse("home"), follow=True, **headers)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
new_user = User.objects.get(username="remoteuser2") new_user = get_user_model().objects.get(username="remoteuser2")
self.assertEqual( self.assertEqual(
int(self.client.session.get("_auth_user_id")), int(self.client.session.get("_auth_user_id")),
new_user.pk, new_user.pk,
@ -389,7 +390,7 @@ class ExternalAuthenticationTestCase(TestCase):
response = self.client.get(reverse('home'), follow=True, **headers) response = self.client.get(reverse('home'), follow=True, **headers)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
new_user = User.objects.get(username='remoteuser2') new_user = get_user_model().objects.get(username='remoteuser2')
self.assertEqual(int(self.client.session.get( self.assertEqual(int(self.client.session.get(
'_auth_user_id')), new_user.pk, msg='Authentication failed') '_auth_user_id')), new_user.pk, msg='Authentication failed')
self.assertListEqual( self.assertListEqual(
@ -428,7 +429,7 @@ class ObjectPermissionAPIViewTestCase(TestCase):
""" """
Create a test user and token for API calls. Create a test user and token for API calls.
""" """
self.user = User.objects.create(username='testuser') self.user = get_user_model().objects.create(username='testuser')
self.token = Token.objects.create(user=self.user) self.token = Token.objects.create(user=self.user)
self.header = {'HTTP_AUTHORIZATION': 'Token {}'.format(self.token.key)} self.header = {'HTTP_AUTHORIZATION': 'Token {}'.format(self.token.key)}

View File

@ -1,4 +1,5 @@
from django.contrib.auth.models import Group, User from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from drf_spectacular.utils import extend_schema_field from drf_spectacular.utils import extend_schema_field
from drf_spectacular.types import OpenApiTypes from drf_spectacular.types import OpenApiTypes
@ -28,7 +29,7 @@ class NestedUserSerializer(WritableNestedSerializer):
url = serializers.HyperlinkedIdentityField(view_name='users-api:user-detail') url = serializers.HyperlinkedIdentityField(view_name='users-api:user-detail')
class Meta: class Meta:
model = User model = get_user_model()
fields = ['id', 'url', 'display', 'username'] fields = ['id', 'url', 'display', 'username']
@extend_schema_field(OpenApiTypes.STR) @extend_schema_field(OpenApiTypes.STR)

View File

@ -1,5 +1,6 @@
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import Group, User from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from drf_spectacular.utils import extend_schema_field from drf_spectacular.utils import extend_schema_field
from drf_spectacular.types import OpenApiTypes from drf_spectacular.types import OpenApiTypes
@ -30,7 +31,7 @@ class UserSerializer(ValidatedModelSerializer):
) )
class Meta: class Meta:
model = User model = get_user_model()
fields = ( fields = (
'id', 'url', 'display', 'username', 'password', 'first_name', 'last_name', 'email', 'is_staff', 'is_active', 'id', 'url', 'display', 'username', 'password', 'first_name', 'last_name', 'email', 'is_staff', 'is_active',
'date_joined', 'groups', 'date_joined', 'groups',
@ -124,7 +125,7 @@ class ObjectPermissionSerializer(ValidatedModelSerializer):
many=True many=True
) )
users = SerializedPKRelatedField( users = SerializedPKRelatedField(
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
serializer=NestedUserSerializer, serializer=NestedUserSerializer,
required=False, required=False,
many=True many=True

View File

@ -1,5 +1,6 @@
from django.contrib.auth import authenticate from django.contrib.auth import authenticate
from django.contrib.auth.models import Group, User from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.db.models import Count from django.db.models import Count
from drf_spectacular.utils import extend_schema from drf_spectacular.utils import extend_schema
from drf_spectacular.types import OpenApiTypes from drf_spectacular.types import OpenApiTypes
@ -32,7 +33,7 @@ class UsersRootView(APIRootView):
# #
class UserViewSet(NetBoxModelViewSet): class UserViewSet(NetBoxModelViewSet):
queryset = RestrictedQuerySet(model=User).prefetch_related('groups').order_by('username') queryset = RestrictedQuerySet(model=get_user_model()).prefetch_related('groups').order_by('username')
serializer_class = serializers.UserSerializer serializer_class = serializers.UserSerializer
filterset_class = filtersets.UserFilterSet filterset_class = filtersets.UserFilterSet

View File

@ -1,5 +1,6 @@
import django_filters import django_filters
from django.contrib.auth.models import Group, User from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.db.models import Q from django.db.models import Q
from django.utils.translation import gettext as _ from django.utils.translation import gettext as _
@ -47,7 +48,7 @@ class UserFilterSet(BaseFilterSet):
) )
class Meta: class Meta:
model = User model = get_user_model()
fields = ['id', 'username', 'first_name', 'last_name', 'email', 'is_staff', 'is_active'] fields = ['id', 'username', 'first_name', 'last_name', 'email', 'is_staff', 'is_active']
def search(self, queryset, name, value): def search(self, queryset, name, value):
@ -68,12 +69,12 @@ class TokenFilterSet(BaseFilterSet):
) )
user_id = django_filters.ModelMultipleChoiceFilter( user_id = django_filters.ModelMultipleChoiceFilter(
field_name='user', field_name='user',
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
label=_('User'), label=_('User'),
) )
user = django_filters.ModelMultipleChoiceFilter( user = django_filters.ModelMultipleChoiceFilter(
field_name='user__username', field_name='user__username',
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
to_field_name='username', to_field_name='username',
label=_('User (name)'), label=_('User (name)'),
) )
@ -116,12 +117,12 @@ class ObjectPermissionFilterSet(BaseFilterSet):
) )
user_id = django_filters.ModelMultipleChoiceFilter( user_id = django_filters.ModelMultipleChoiceFilter(
field_name='users', field_name='users',
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
label=_('User'), label=_('User'),
) )
user = django_filters.ModelMultipleChoiceFilter( user = django_filters.ModelMultipleChoiceFilter(
field_name='users__username', field_name='users__username',
queryset=User.objects.all(), queryset=get_user_model().objects.all(),
to_field_name='username', to_field_name='username',
label=_('User (name)'), label=_('User (name)'),
) )

View File

@ -1,6 +1,7 @@
import graphene import graphene
from django.contrib.auth.models import Group, User from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from netbox.graphql.fields import ObjectField, ObjectListField from netbox.graphql.fields import ObjectField, ObjectListField
from .types import * from .types import *
from utilities.graphql_optimizer import gql_query_optimizer from utilities.graphql_optimizer import gql_query_optimizer
@ -17,4 +18,4 @@ class UsersQuery(graphene.ObjectType):
user_list = ObjectListField(UserType) user_list = ObjectListField(UserType)
def resolve_user_list(root, info, **kwargs): def resolve_user_list(root, info, **kwargs):
return gql_query_optimizer(User.objects.all(), info) return gql_query_optimizer(get_user_model().objects.all(), info)

View File

@ -1,4 +1,5 @@
from django.contrib.auth.models import Group, User from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from graphene_django import DjangoObjectType from graphene_django import DjangoObjectType
from users import filtersets from users import filtersets
@ -25,7 +26,7 @@ class GroupType(DjangoObjectType):
class UserType(DjangoObjectType): class UserType(DjangoObjectType):
class Meta: class Meta:
model = User model = get_user_model()
fields = ( fields = (
'id', 'username', 'password', 'first_name', 'last_name', 'email', 'is_staff', 'is_active', 'date_joined', 'id', 'username', 'password', 'first_name', 'last_name', 'email', 'is_staff', 'is_active', 'date_joined',
'groups', 'groups',
@ -34,4 +35,4 @@ class UserType(DjangoObjectType):
@classmethod @classmethod
def get_queryset(cls, queryset, info): def get_queryset(cls, queryset, info):
return RestrictedQuerySet(model=User).restrict(info.context.user, 'view') return RestrictedQuerySet(model=get_user_model()).restrict(info.context.user, 'view')

View File

@ -1,4 +1,5 @@
from django.contrib.auth.models import Group, User from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.urls import reverse from django.urls import reverse
@ -18,7 +19,7 @@ class AppTest(APITestCase):
class UserTest(APIViewTestCases.APIViewTestCase): class UserTest(APIViewTestCases.APIViewTestCase):
model = User model = get_user_model()
view_namespace = 'users' view_namespace = 'users'
brief_fields = ['display', 'id', 'url', 'username'] brief_fields = ['display', 'id', 'url', 'username']
validation_excluded_fields = ['password'] validation_excluded_fields = ['password']
@ -44,11 +45,11 @@ class UserTest(APIViewTestCases.APIViewTestCase):
def setUpTestData(cls): def setUpTestData(cls):
users = ( users = (
User(username='User_1', password='password1'), get_user_model()(username='User_1', password='password1'),
User(username='User_2', password='password2'), get_user_model()(username='User_2', password='password2'),
User(username='User_3', password='password3'), get_user_model()(username='User_3', password='password3'),
) )
User.objects.bulk_create(users) get_user_model().objects.bulk_create(users)
class GroupTest(APIViewTestCases.APIViewTestCase): class GroupTest(APIViewTestCases.APIViewTestCase):
@ -130,7 +131,7 @@ class TokenTest(
'username': 'user1', 'username': 'user1',
'password': 'abc123', 'password': 'abc123',
} }
user = User.objects.create_user(**data) user = get_user_model().objects.create_user(**data)
url = reverse('users-api:token_provision') url = reverse('users-api:token_provision')
response = self.client.post(url, data, format='json', **self.header) response = self.client.post(url, data, format='json', **self.header)
@ -158,7 +159,7 @@ class TokenTest(
Test provisioning a Token for a different User with & without the grant_token permission. Test provisioning a Token for a different User with & without the grant_token permission.
""" """
self.add_permissions('users.add_token') self.add_permissions('users.add_token')
user2 = User.objects.create_user(username='testuser2') user2 = get_user_model().objects.create_user(username='testuser2')
data = { data = {
'user': user2.id, 'user': user2.id,
} }
@ -196,11 +197,11 @@ class ObjectPermissionTest(
Group.objects.bulk_create(groups) Group.objects.bulk_create(groups)
users = ( users = (
User(username='User 1', is_active=True), get_user_model()(username='User 1', is_active=True),
User(username='User 2', is_active=True), get_user_model()(username='User 2', is_active=True),
User(username='User 3', is_active=True), get_user_model()(username='User 3', is_active=True),
) )
User.objects.bulk_create(users) get_user_model().objects.bulk_create(users)
object_type = ContentType.objects.get(app_label='dcim', model='device') object_type = ContentType.objects.get(app_label='dcim', model='device')

View File

@ -1,6 +1,7 @@
import datetime import datetime
from django.contrib.auth.models import Group, User from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.test import TestCase from django.test import TestCase
from django.utils.timezone import make_aware from django.utils.timezone import make_aware
@ -11,7 +12,7 @@ from utilities.testing import BaseFilterSetTests
class UserTestCase(TestCase, BaseFilterSetTests): class UserTestCase(TestCase, BaseFilterSetTests):
queryset = User.objects.all() queryset = get_user_model().objects.all()
filterset = filtersets.UserFilterSet filterset = filtersets.UserFilterSet
@classmethod @classmethod
@ -25,39 +26,39 @@ class UserTestCase(TestCase, BaseFilterSetTests):
Group.objects.bulk_create(groups) Group.objects.bulk_create(groups)
users = ( users = (
User( get_user_model()(
username='User1', username='User1',
first_name='Hank', first_name='Hank',
last_name='Hill', last_name='Hill',
email='hank@stricklandpropane.com', email='hank@stricklandpropane.com',
is_staff=True is_staff=True
), ),
User( get_user_model()(
username='User2', username='User2',
first_name='Dale', first_name='Dale',
last_name='Gribble', last_name='Gribble',
email='dale@dalesdeadbug.com' email='dale@dalesdeadbug.com'
), ),
User( get_user_model()(
username='User3', username='User3',
first_name='Bill', first_name='Bill',
last_name='Dauterive', last_name='Dauterive',
email='bill.dauterive@army.mil' email='bill.dauterive@army.mil'
), ),
User( get_user_model()(
username='User4', username='User4',
first_name='Jeff', first_name='Jeff',
last_name='Boomhauer', last_name='Boomhauer',
email='boomhauer@dangolemail.com' email='boomhauer@dangolemail.com'
), ),
User( get_user_model()(
username='User5', username='User5',
first_name='Debbie', first_name='Debbie',
last_name='Grund', last_name='Grund',
is_active=False is_active=False
) )
) )
User.objects.bulk_create(users) get_user_model().objects.bulk_create(users)
users[0].groups.set([groups[0]]) users[0].groups.set([groups[0]])
users[1].groups.set([groups[1]]) users[1].groups.set([groups[1]])
@ -129,11 +130,11 @@ class ObjectPermissionTestCase(TestCase, BaseFilterSetTests):
Group.objects.bulk_create(groups) Group.objects.bulk_create(groups)
users = ( users = (
User(username='User1'), get_user_model()(username='User1'),
User(username='User2'), get_user_model()(username='User2'),
User(username='User3'), get_user_model()(username='User3'),
) )
User.objects.bulk_create(users) get_user_model().objects.bulk_create(users)
object_types = ( object_types = (
ContentType.objects.get(app_label='dcim', model='site'), ContentType.objects.get(app_label='dcim', model='site'),
@ -172,7 +173,7 @@ class ObjectPermissionTestCase(TestCase, BaseFilterSetTests):
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_user(self): def test_user(self):
users = User.objects.filter(username__in=['User1', 'User2']) users = get_user_model().objects.filter(username__in=['User1', 'User2'])
params = {'user_id': [users[0].pk, users[1].pk]} params = {'user_id': [users[0].pk, users[1].pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
params = {'user': [users[0].username, users[1].username]} params = {'user': [users[0].username, users[1].username]}
@ -196,11 +197,11 @@ class TokenTestCase(TestCase, BaseFilterSetTests):
def setUpTestData(cls): def setUpTestData(cls):
users = ( users = (
User(username='User1'), get_user_model()(username='User1'),
User(username='User2'), get_user_model()(username='User2'),
User(username='User3'), get_user_model()(username='User3'),
) )
User.objects.bulk_create(users) get_user_model().objects.bulk_create(users)
future_date = make_aware(datetime.datetime(3000, 1, 1)) future_date = make_aware(datetime.datetime(3000, 1, 1))
past_date = make_aware(datetime.datetime(2000, 1, 1)) past_date = make_aware(datetime.datetime(2000, 1, 1))
@ -212,7 +213,7 @@ class TokenTestCase(TestCase, BaseFilterSetTests):
Token.objects.bulk_create(tokens) Token.objects.bulk_create(tokens)
def test_user(self): def test_user(self):
users = User.objects.order_by('id')[:2] users = get_user_model().objects.order_by('id')[:2]
params = {'user_id': [users[0].pk, users[1].pk]} params = {'user_id': [users[0].pk, users[1].pk]}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
params = {'user': [users[0].username, users[1].username]} params = {'user': [users[0].username, users[1].username]}

View File

@ -1,4 +1,4 @@
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.test import TestCase from django.test import TestCase
@ -7,7 +7,7 @@ class UserConfigTest(TestCase):
@classmethod @classmethod
def setUpTestData(cls): def setUpTestData(cls):
user = User.objects.create_user(username='testuser') user = get_user_model().objects.create_user(username='testuser')
user.config.data = { user.config.data = {
'a': True, 'a': True,
'b': { 'b': {
@ -29,7 +29,7 @@ class UserConfigTest(TestCase):
user.config.save() user.config.save()
def test_get(self): def test_get(self):
userconfig = User.objects.get(username='testuser').config userconfig = get_user_model().objects.get(username='testuser').config
# Retrieve root and nested values # Retrieve root and nested values
self.assertEqual(userconfig.get('a'), True) self.assertEqual(userconfig.get('a'), True)
@ -49,7 +49,7 @@ class UserConfigTest(TestCase):
self.assertEqual(userconfig.get('b.foo.x.invalid', 'DEFAULT'), 'DEFAULT') self.assertEqual(userconfig.get('b.foo.x.invalid', 'DEFAULT'), 'DEFAULT')
def test_all(self): def test_all(self):
userconfig = User.objects.get(username='testuser').config userconfig = get_user_model().objects.get(username='testuser').config
flattened_data = { flattened_data = {
'a': True, 'a': True,
'b.foo': 101, 'b.foo': 101,
@ -63,7 +63,7 @@ class UserConfigTest(TestCase):
self.assertEqual(userconfig.all(), flattened_data) self.assertEqual(userconfig.all(), flattened_data)
def test_set(self): def test_set(self):
userconfig = User.objects.get(username='testuser').config userconfig = get_user_model().objects.get(username='testuser').config
# Overwrite existing values # Overwrite existing values
userconfig.set('a', 'abc') userconfig.set('a', 'abc')
@ -92,7 +92,7 @@ class UserConfigTest(TestCase):
userconfig.set('a.x', 1) userconfig.set('a.x', 1)
def test_clear(self): def test_clear(self):
userconfig = User.objects.get(username='testuser').config userconfig = get_user_model().objects.get(username='testuser').config
# Clear existing values # Clear existing values
userconfig.clear('a') userconfig.clear('a')

View File

@ -1,4 +1,4 @@
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.test import override_settings from django.test import override_settings
from django.test.client import RequestFactory from django.test.client import RequestFactory
from django.urls import reverse from django.urls import reverse
@ -39,7 +39,7 @@ class UserPreferencesTest(TestCase):
@override_settings(DEFAULT_USER_PREFERENCES=DEFAULT_USER_PREFERENCES) @override_settings(DEFAULT_USER_PREFERENCES=DEFAULT_USER_PREFERENCES)
def test_default_preferences(self): def test_default_preferences(self):
user = User.objects.create(username='User 1') user = get_user_model().objects.create(username='User 1')
userconfig = user.config userconfig = user.config
self.assertEqual(userconfig.data, DEFAULT_USER_PREFERENCES) self.assertEqual(userconfig.data, DEFAULT_USER_PREFERENCES)

View File

@ -2,7 +2,7 @@ import inspect
import json import json
from django.conf import settings from django.conf import settings
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.urls import reverse from django.urls import reverse
from django.test import override_settings from django.test import override_settings
@ -45,7 +45,7 @@ class APITestCase(ModelTestCase):
Create a user and token for API calls. Create a user and token for API calls.
""" """
# Create the test user and assign permissions # Create the test user and assign permissions
self.user = User.objects.create_user(username='testuser') self.user = get_user_model().objects.create_user(username='testuser')
self.add_permissions(*self.user_permissions) self.add_permissions(*self.user_permissions)
self.token = Token.objects.create(user=self.user) self.token = Token.objects.create(user=self.user)
self.header = {'HTTP_AUTHORIZATION': f'Token {self.token.key}'} self.header = {'HTTP_AUTHORIZATION': f'Token {self.token.key}'}

View File

@ -1,6 +1,6 @@
import json import json
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.contrib.postgres.fields import ArrayField from django.contrib.postgres.fields import ArrayField
from django.core.exceptions import FieldDoesNotExist from django.core.exceptions import FieldDoesNotExist
@ -27,7 +27,7 @@ class TestCase(_TestCase):
def setUp(self): def setUp(self):
# Create the test user and assign permissions # Create the test user and assign permissions
self.user = User.objects.create_user(username='testuser') self.user = get_user_model().objects.create_user(username='testuser')
self.add_permissions(*self.user_permissions) self.add_permissions(*self.user_permissions)
# Initialize the test client # Initialize the test client

View File

@ -2,7 +2,8 @@ import logging
import re import re
from contextlib import contextmanager from contextlib import contextmanager
from django.contrib.auth.models import Permission, User from django.contrib.auth import get_user_model
from django.contrib.auth.models import Permission
from django.utils.text import slugify from django.utils.text import slugify
from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Site from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Site
@ -63,7 +64,7 @@ def create_test_user(username='testuser', permissions=None):
""" """
Create a User with the given permissions. Create a User with the given permissions.
""" """
user = User.objects.create_user(username=username) user = get_user_model().objects.create_user(username=username)
if permissions is None: if permissions is None:
permissions = () permissions = ()
for perm_name in permissions: for perm_name in permissions: