瀏覽代碼

HUE-8758 [connector] Patching for combining query set filter

Romain 5 年之前
父節點
當前提交
e0416464f2
共有 2 個文件被更改,包括 10 次插入2 次删除
  1. 4 1
      apps/useradmin/src/useradmin/models2.py
  2. 6 1
      apps/useradmin/src/useradmin/models2_tests.py

+ 4 - 1
apps/useradmin/src/useradmin/models2.py

@@ -144,14 +144,17 @@ class UserManager(BaseUserManager):
 
 
   def filter(self, *args, **kwargs):
   def filter(self, *args, **kwargs):
     f = super(UserManager, self).filter(*args, **kwargs)
     f = super(UserManager, self).filter(*args, **kwargs)
-    f.values_list = self.values_list  # Patch so that chaining after a filter is backward compatible
+    # f.values_list = self.values_list  # Patch so that chaining after a filter is backward compatible
     return f
     return f
 
 
   def values_list(self, *args, **kwargs):
   def values_list(self, *args, **kwargs):
+    print(args)
+    print(kwargs)
     if 'username' in args:
     if 'username' in args:
       args = list(args)
       args = list(args)
       args.remove('username')
       args.remove('username')
       args.append('email')
       args.append('email')
+    print(args)
 
 
     return super(UserManager, self).values_list(*args, **kwargs)
     return super(UserManager, self).values_list(*args, **kwargs)
 
 

+ 6 - 1
apps/useradmin/src/useradmin/models2_tests.py

@@ -130,7 +130,12 @@ class TestOrganizationSingleUser(unittest.TestCase):
     User.objects.filter(groups__in=Group.objects.all()).order_by('username')
     User.objects.filter(groups__in=Group.objects.all()).order_by('username')
 
 
     User.objects.values_list('username', flat=True)
     User.objects.values_list('username', flat=True)
-    User.objects.filter(groups__in=Group.objects.all()).values_list('username', flat=True)
+    assert_false(
+      User.objects.filter(groups__in=[]).values_list('username', flat=True)
+    )
+    assert_true(
+      User.objects.filter(groups__in=Group.objects.all()).values_list('username', flat=True)
+    )
 
 
     self.client2.get('/useradmin/groups/edit/default')
     self.client2.get('/useradmin/groups/edit/default')