  class ModelPermissionsIntegrationTests(TestCase):
      def setUp(self):
          User.objects.create_user('disallowed', 'disallowed@example.com', 'password')
          user = User.objects.create_user('permitted', 'permitted@example.com', 'password')
          set_many(user, 'user_permissions', [
              Permission.objects.get(codename='add_basicmodel'),
              Permission.objects.get(codename='change_basicmodel'),
              Permission.objects.get(codename='delete_basicmodel')
          ])
          user = User.objects.create_user('updateonly', 'updateonly@example.com', 'password')
 
</s> remove         set_many(user, 'user_permissions', [
 </s> add         user.user_permissions.set([ </s> remove         set_many(self.user, 'groups', self.groups)
        self.user.save()
 </s> add         self.user.groups.set(self.groups) </s> remove         if is_authenticated(request.user):
 </s> add         if request.user.is_authenticated: </s> remove     def test_get_remote_field_with_old_django_version(self):
        class MockField(object):
            rel = 'example_rel'
        compat.django.VERSION = (1, 8)
        assert compat.get_remote_field(MockField(), default='default_value') == 'example_rel'
        assert compat.get_remote_field(object(), default='default_value') == 'default_value'

    def test_get_remote_field_with_new_django_version(self):
        class MockField(object):
            remote_field = 'example_remote_field'
        compat.django.VERSION = (1, 10)
        assert compat.get_remote_field(MockField(), default='default_value') == 'example_remote_field'
        assert compat.get_remote_field(object(), default='default_value') == 'default_value'

 </s> add  </s> remove         set_many(self.instance, 'many_to_many', self.many_to_many_targets)
        self.instance.save()
 </s> add         self.instance.many_to_many.set(self.many_to_many_targets)
        user.user_permissions.set([
  class ModelPermissionsIntegrationTests(TestCase):
      def setUp(self):
          User.objects.create_user('disallowed', 'disallowed@example.com', 'password')
          user = User.objects.create_user('permitted', 'permitted@example.com', 'password')
        user.user_permissions.set([
              Permission.objects.get(codename='add_basicmodel'),
              Permission.objects.get(codename='change_basicmodel'),
              Permission.objects.get(codename='delete_basicmodel')
          ])
          user = User.objects.create_user('updateonly', 'updateonly@example.com', 'password')
keep keep keep keep replace keep keep keep keep keep
 Remove Django 1.8 & 1.9 compatibility code (#5481)

* Identify code that needs to be pulled out of/removed from compat.py

* Extract modern code from get_names_and_managers in compat.py and remove compat code

* Extract modern code from is_authenticated() in compat.py and remove.

* Extract modern code from is_anonymous() in compat.py and remove

* Extract modern code from get_related_model() from compat.py and remove

* Extract modern code from value_from_object() in compat.py and remove

* Update postgres compat

JSONField now always available.

* Remove DecimalValidator compat

* Remove get_remote_field compat

* Remove template_render compat

Plus isort.

* Remove set_many compat

* Remove include compat 
tests/test_permissions.py