angee.knowledge.signals
Knowledge-owned derived-index and record-binding lifecycle receivers.
A page's outgoing wikilinks are rebuilt from its markdown body on every body save, so the backlinks panel is a SQL query over rows, not a body scan. Record bindings point to arbitrary models through a GenericForeignKey, so the target side cannot declare a reverse relation; the global pre_delete receiver removes any canonical-target bindings before primary-key reuse can resolve them onto another row.
connect
python
def connect() -> NoneWire knowledge-owned receivers after app population.
rebuild_backlinks
python
def rebuild_backlinks(sender: type[Any],
instance: Any,
raw: bool = False,
update_fields: Iterable[str] | None = None,
**_: Any) -> NoneRebuild a page's outgoing wikilinks when its markdown body changes.
teardown_record_bindings
python
def teardown_record_bindings(sender: type[Any], instance: Any,
**kwargs: Any) -> NoneDelete bindings to the canonical target before any model row is deleted.