Skip to content

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() -> None

Wire knowledge-owned receivers after app population.

python
def rebuild_backlinks(sender: type[Any],
                      instance: Any,
                      raw: bool = False,
                      update_fields: Iterable[str] | None = None,
                      **_: Any) -> None

Rebuild 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) -> None

Delete bindings to the canonical target before any model row is deleted.

Released under the AGPL-3.0 License.