angee.base.rebac_m2m
REBAC glue for many-to-many fields backed by explicit relationship tuples.
m2m_changed_relation_pairs
python
def m2m_changed_relation_pairs(
*, instance: models.Model, action: str, reverse: bool,
model: type[models.Model], pk_set: set[Any] | None,
forward_field_name: str,
reverse_field_name: str) -> list[M2MRelationPair]Return forward/reverse model pairs affected by one Django M2M signal.
reconcile_m2m_changed_relationships_on_commit
python
def reconcile_m2m_changed_relationships_on_commit(
*,
action: str,
instance: models.Model,
reverse: bool,
model: type[models.Model],
pk_set: set[Any] | None,
forward_field_name: str,
reverse_field_name: str,
grant: M2MRelationCallback,
revoke: M2MRelationCallback,
using: str | None = None,
context: ContextFactory = nullcontext) -> NoneMirror one M2M signal into non-field-backed REBAC tuples after commit.