Skip to content

Forms

Model utilities for Air.

Provides a thin wrapper around :class:pydantic.BaseModel that knows how to generate matching :class:air.forms.AirForm subclasses on demand.

AirModel

Bases: BaseModel

Base class for models that integrate tightly with Air forms.

to_form classmethod

to_form(*, name=None, includes=None, widget=None)

Return an :class:AirForm instance bound to cls.

Parameters:

Name Type Description Default
name str | None

Optional explicit class name for the generated form.

None
includes Sequence[str] | None

Optional iterable of field names to render (defaults to all fields).

None
widget Callable | None

Optional custom rendering callable.

None

Returns:

Type Description
AirForm

An instance of :class:AirForm that validates against cls.

Source code in src/air/models.py
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@classmethod
def to_form(
    cls,
    *,
    name: str | None = None,
    includes: Sequence[str] | None = None,
    widget: Callable | None = None,
) -> AirForm:
    """Return an :class:`AirForm` instance bound to ``cls``.

    Args:
        name: Optional explicit class name for the generated form.
        includes: Optional iterable of field names to render (defaults to all fields).
        widget: Optional custom rendering callable.

    Returns:
        An instance of :class:`AirForm` that validates against ``cls``.
    """

    return to_form(cls, name=name, includes=includes, widget=widget)