Ancestry

An ancestry is Betty’s main data model. It organizes all the information in your family history in a way that can easily be used across all parts of Betty. The main components are:

Entities

An entity is an object that describes a thing, such as a place or a person.

Fields

Individual pieces of information belonging to an entity, such as a place or person name.

Associations

A reference between entities, stored in a field on each entity.

A model with lots of data is a graph, a network, like a web of information that can be traversed, analyzed, expanded, and ultimately generated into a site.

In code, you will be using betty.model.ancestry.Ancestry, through which you can access any entity of any type.

from betty.model.ancestry import Ancestry, Person

ancestry = Ancestry()
person = Person(id='a1b2')
ancestry.add(person)
assert person is ancestry[Person]['a1b2']
{% set people = ancestry['Person'] %}
{% set person_a1b2 = people['a1b2'] %}

In this section