def test_update_item_base_filters(self):
        """
        REST Api: Test update item with base filters
        """
        client = self.app.test_client()
        token = self.login(client, USERNAME_ADMIN, PASSWORD_ADMIN)
        with model1_data(self.appbuilder.session, 4):
            model1 = (
                self.appbuilder.get_session.query(Model1)
                .filter_by(field_integer=3)
                .one_or_none()
            )
            model_id = model1.id
            item = dict(field_string="test_Put", field_integer=3, field_float=3.0)
            uri = f"api/v1/model1apifiltered/{model_id}"
            rv = self.auth_client_put(client, token, uri, item)
            self.assertEqual(rv.status_code, 200)
            model = self.db.session.query(Model1).get(model_id)
            self.assertEqual(model.field_string, "test_Put")
            self.assertEqual(model.field_integer, 3)
            self.assertEqual(model.field_float, 3.0)

            # We can't update an item that is base filtered
            model1 = (
                self.appbuilder.get_session.query(Model1)
                .filter_by(field_integer=1)
                .one_or_none()
            )
            model_id = model1.id
            uri = f"api/v1/model1apifiltered/{model_id}"
            rv = self.auth_client_put(client, token, uri, item)
            self.assertEqual(rv.status_code, 404)

        REST Api: Test update item with base filters
        
tests/test_api.py