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) -> AnyReturn 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) -> AnyReturn 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.ModelResolve <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.