:tocdepth: 3 :py:mod:`gws.base.model.related_field` ====================================== .. py:module:: gws.base.model.related_field .. autoapi-nested-parse:: Generic related field. **Source code:** :source:`gws.base.model.related_field` Module Contents --------------- .. py:class:: Config Bases: :py:obj:`gws.base.model.field.Config` .. py:class:: Link(*args, **kwargs) Bases: :py:obj:`gws.Data` Basic data object. This object can be instantiated by passing one or or ``dict`` arguments and/or keyword args. All dicts keys and keywords become attributes of the object. Accessing an undefined attribute returns ``None`` and no error is raised, unless the attribute name starts with an underscore. .. py:attribute:: fromKey :type: gws.lib.sa.Column .. py:attribute:: table :type: gws.lib.sa.Table .. py:attribute:: toKey :type: gws.lib.sa.Column .. py:class:: Object Bases: :py:obj:`gws.base.model.field.Object` .. py:attribute:: model :type: gws.DatabaseModel .. py:attribute:: rel :type: Relationship .. py:method:: activate() .. py:method:: column_or_uid(model, cfg) .. py:method:: configure_relationship() .. py:method:: configure_widget() .. py:method:: do_init_related(to_feature, mc) .. py:method:: drop_uid_and_key(model: gws.DatabaseModel, key_column: gws.lib.sa.Column, uids: Iterable[gws.FeatureUid], delete: bool, mc: gws.ModelContext) .. py:method:: find_relatable_features(search, mc) .. py:method:: from_props(feature, mc) .. py:method:: get_model(uid: str) -> gws.DatabaseModel .. py:method:: get_related(model: gws.DatabaseModel, uids: Iterable[gws.FeatureUid], mc: gws.ModelContext) -> list[gws.Feature] .. py:method:: key_for_uid(model: gws.DatabaseModel, key_column: gws.lib.sa.Column, uid: gws.FeatureUid, mc: gws.ModelContext) .. py:method:: post_configure() .. py:method:: related_field(to: RelRef) -> Optional[gws.ModelField] .. py:method:: related_models() .. py:method:: to_props(feature, mc) .. py:method:: uid_and_key_for_keys(model: gws.DatabaseModel, key_column: gws.lib.sa.Column, keys: Iterable[gws.FeatureUid], mc: gws.ModelContext) -> set[tuple[gws.FeatureUid, gws.FeatureUid]] .. py:method:: uid_and_key_for_uids(model: gws.DatabaseModel, key_column: gws.lib.sa.Column, uids: Iterable[gws.FeatureUid], mc: gws.ModelContext) -> set[tuple[gws.FeatureUid, gws.FeatureUid]] .. py:method:: uids_to_keys(mc: gws.ModelContext, model: gws.DatabaseModel, key_column: gws.lib.sa.Column, uids: Optional[Iterable[gws.FeatureUid]] = None, keys: Optional[Iterable[Any]] = None) .. py:method:: update_key_for_uids(model: gws.DatabaseModel, key_column: gws.lib.sa.Column, uids: list[gws.FeatureUid], key: Any, mc: gws.ModelContext) .. py:method:: update_uid_and_key(model: gws.DatabaseModel, key_column: gws.lib.sa.Column, uid_and_key: Iterable[tuple[gws.FeatureUid, gws.FeatureUid]], mc: gws.ModelContext) .. py:class:: Props Bases: :py:obj:`gws.base.model.field.Props` .. py:class:: Relationship(*args, **kwargs) Bases: :py:obj:`gws.Data` Basic data object. This object can be instantiated by passing one or or ``dict`` arguments and/or keyword args. All dicts keys and keywords become attributes of the object. Accessing an undefined attribute returns ``None`` and no error is raised, unless the attribute name starts with an underscore. .. py:attribute:: deleteCascade :type: bool :value: False .. py:attribute:: link :type: Link .. py:attribute:: src :type: RelRef .. py:attribute:: to :type: RelRef .. py:attribute:: tos :type: list[RelRef] .. py:class:: RelRef(*args, **kwargs) Bases: :py:obj:`gws.Data` Basic data object. This object can be instantiated by passing one or or ``dict`` arguments and/or keyword args. All dicts keys and keywords become attributes of the object. Accessing an undefined attribute returns ``None`` and no error is raised, unless the attribute name starts with an underscore. .. py:attribute:: key :type: gws.lib.sa.Column .. py:attribute:: model :type: gws.DatabaseModel .. py:attribute:: table :type: gws.lib.sa.Table .. py:attribute:: uid :type: gws.lib.sa.Column