Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar

# 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.

Python

    from betty.model.ancestry import Ancestry, Person

    ancestry = Ancestry()
    person = Person(id='a1b2')
    ancestry.add(person)
    assert person is ancestry[Person]['a1b2']

Jinja2

    {% set people = ancestry['person'] %}
    {% set person_a1b2 = people['a1b2'] %}

## In this section

- Citation

- Dates

- Enclosure

- Event

- Event Type

- File

- File reference

- Link

- Media Type

- Note

- Person

- Person Name

- Place

- Place Name

- Presence

- Presence Role

- Privacy

- Source

## See also

- Entity type plugins