Documentation

Model Wrapper

A model wrapper is an utility used to wrap a database model and provide a consistent interface over it. It allows automatically adding new rows to the database, updating existing rows, and deleting rows.

Default Model Wrapper

You can use the basic functionality of the model wrapper by using the rxe.model_wrapper function. This function takes a database model and returns a wrapper object that can be used to interact with the model.

import reflex_enterprise as rxe


def index_page():
    return rxe.model_wrapper(class_model=MyModel)

By default the model_wrapper use the infinite rows model from AgGrid.

Custom Model Wrapper

If the default model wrapper does not fit your needs, you can create a custom model wrapper by subclassing the rxe.ModelWrapper class. This allows you to customize the behavior of the model wrapper to fit your specific use case.

import reflex_enterprise as rxe


class MyCustomWrapper(rxe.ModelWrapper[MyModel]):
    pass

In the custom model wrapper, you can override the following methods:

  • _get_columns_defs
  • _get_data
  • _row_count
  • on_value_setter

to modify how the model wrapper will behave.

SSRM Model Wrapper

The SSRM model wrapper, used with rxe.model_wrapper_ssrm, is a version of the model wrapper that allows you to use the ServerSideRowModel of AgGrid.

import reflex_enterprise as rxe


def index_page():
    return rxe.model_wrapper_ssrm(class_model=MyModel)

SSRM Custom Model Wrapper

In the same way you can extend the default model wrapper, you can extend the SSRM custom model wrapper by subclassing the rxe.ModelWrapperSSRM class. This allows you to customize the behavior of the model wrapper to fit your specific use case.

import reflex_enterprise as rxe


class MyCustomSSRMWrapper(rxe.ModelWrapperSSRM[MyModel]):
    pass

The overridable methods are the same as the standard model wrapper.

Built with Reflex