File tree Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -49,5 +49,6 @@ def pk(self):
49
49
return self .user .pk
50
50
51
51
class Meta :
52
- proxy = True
52
+ proxy = 'rest_framework.authtoken' in settings .INSTALLED_APPS
53
+ abstract = 'rest_framework.authtoken' not in settings .INSTALLED_APPS
53
54
verbose_name = "token"
Original file line number Diff line number Diff line change
1
+ import importlib
1
2
from io import StringIO
2
3
3
4
import pytest
4
5
from django .contrib .admin import site
5
6
from django .contrib .auth .models import User
6
7
from django .core .management import CommandError , call_command
7
- from django .test import TestCase
8
+ from django .test import TestCase , modify_settings
8
9
9
10
from rest_framework .authtoken .admin import TokenAdmin
10
11
from rest_framework .authtoken .management .commands .drf_create_token import \
@@ -21,6 +22,14 @@ def setUp(self):
21
22
self .user = User .objects .create_user (username = 'test_user' )
22
23
self .token = Token .objects .create (key = 'test token' , user = self .user )
23
24
25
+ def test_authtoken_can_be_imported_when_not_included_in_installed_apps (self ):
26
+ import rest_framework .authtoken .models
27
+ with modify_settings (INSTALLED_APPS = {'remove' : 'rest_framework.authtoken' }):
28
+ importlib .reload (rest_framework .authtoken .models )
29
+ # Set the proxy and abstract properties back to the version,
30
+ # where authtoken is among INSTALLED_APPS.
31
+ importlib .reload (rest_framework .authtoken .models )
32
+
24
33
def test_model_admin_displayed_fields (self ):
25
34
mock_request = object ()
26
35
token_admin = TokenAdmin (self .token , self .site )
You can’t perform that action at this time.
0 commit comments