def save(self, new_data):
        rlp = RowLevelPermission.objects.get(pk=new_data['id'])

        self.original_object = rlp
        self.manager = rlp._default_manager
        self.opts = rlp._meta

        owner = MultipleObjSelectField.returnObject(new_data['owner'])
        owner_ct = ContentType.objects.get_for_model(owner)

        model_ct = rlp.model_ct
        model = model_ct.get_object_for_this_type (pk=rlp.model_id)
        model_id = rlp.model_id

        perm = Permission.objects.get(pk=new_data['perm'])

        field_name_list = ('owner_ct', 'owner_id', 'model_ct', 'model_id', 'permission')
        field_data = owner_ct.id
        all_data = {'owner_id': owner.id, 'model_ct_id': model_ct.id, 'model_id': model_id, 'permission_id': perm.id}
        manipulators.manipulator_validator_unique_together(field_name_list, self.opts, self, field_data, all_data)

        rlp.owner = owner
        rlp.permission = perm
        rlp.negative = new_data['negative']
        rlp.save()
        return rlp
    def save(self, new_data):
        owner = MultipleObjSelectField.returnObject(new_data['owner'])

        self.manager = RowLevelPermission._default_manager
        self.opts = RowLevelPermission._meta

        ct = ContentType.objects.get_for_model(owner)
        rlp_list = []
        for i in new_data.getlist('perm'):
            perm = Permission.objects.get(pk=i)

            # Check that the new row level perms are unique.
            field_name_list = ('owner_ct', 'owner_id', 'model_ct', 'model_id', 'permission')
            field_data = ct.id
            model_id = self.obj_instance._get_pk_val()
            all_data = {'owner_id': owner.id, 'model_ct_id': self.ct.id, 'model_id': model_id, 'permission_id': perm.id}
            manipulators.manipulator_validator_unique_together(field_name_list, self.opts, self, field_data, all_data)

            rlp = RowLevelPermission.objects.create_row_level_permission(self.obj_instance, owner, perm, negative=new_data['negative'])
            rlp_list.append(rlp)

        return rlp_list