Skip to content

angee.resources.widgets

Import-export widgets for resolving resource xrefs.

XrefWidgetMixin

python
class XrefWidgetMixin()

Carry the resource ledger model bound by AngeeResource.

ledger_model

Concrete resource ledger model used to resolve xrefs.

addon_aliases

Addon aliases keyed by full addon name and short label.

XrefForeignKeyWidget

python
class XrefForeignKeyWidget(XrefWidgetMixin, widgets.ForeignKeyWidget)

Resolve <addon>.<xref> foreign keys through the ledger.

clean

python
def clean(value: Any,
          row: Mapping[str, Any] | None = None,
          **kwargs: Any) -> Any

Return the target object or primary key for one xref value.

XrefManyToManyWidget

python
class XrefManyToManyWidget(XrefWidgetMixin, widgets.ManyToManyWidget)

Resolve scalar or list xref values for many-to-many fields.

clean

python
def clean(value: Any,
          row: Mapping[str, Any] | None = None,
          **kwargs: Any) -> list[models.Model]

Return target model objects for every xref in value.

_NativeJSONWidget

python
class _NativeJSONWidget(widgets.JSONWidget)

Accept native YAML/JSON values as already-clean JSON values.

clean

python
def clean(value: Any,
          row: Mapping[str, Any] | None = None,
          **kwargs: Any) -> Any

Return native JSON values unchanged.

resolve_xref

python
def resolve_xref(value: str, ledger_model: type[models.Model] | None,
                 addon_aliases: Mapping[str, str] | None) -> models.Model

Resolve <addon>.<xref> through the resource ledger.

xref_list

python
def xref_list(value: Any) -> list[str]

Return xref strings from a comma-separated string or sequence.

Released under the AGPL-3.0 License.