Documentation Frappe Framework

Frappe Framework

DocType enfant (table)

Un DocType enfant ne peut être lié qu’à un DocType parent et sert à stocker plusieurs enregistrements pour un même document. Cette page montre comment le créer et le relier.

1 min de lectureMis à jour le Source : docs.frappe.io

À quoi sert un DocType enfant

Jusqu’ici, nous n’avons vu que des DocTypes où chaque champ ne contient qu’une seule valeur. Il arrive pourtant qu’on doive stocker plusieurs enregistrements rattachés à un seul document : c’est une relation plusieurs-à-un (many-to-one). Un DocType enfant (Child DocType) est un DocType qui ne peut être lié qu’à un DocType parent.

Créer et relier un DocType enfant

  1. Lors de la création du DocType enfant, cochez Is Child Table.
  2. Pour relier ce DocType enfant à son parent, ajoutez dans le DocType parent une ligne de champ de type Table, avec le nom du DocType enfant dans les options.

La documentation officielle illustre ces deux étapes par des captures d’écran.

Les enregistrements du DocType enfant sont directement rattachés au document parent :

python
>>> person = frappe.get_doc('Person', '000001')
>>> person.as_dict()
{
 'first_name': 'John',
 'last_name': 'Doe',
 'qualifications': [
 {'title': 'Frontend Architect', 'year': '2017'},
 {'title': 'DevOps Engineer', 'year': '2016'},
 ]
}

Propriétés des documents enfants

Les documents enfants possèdent des propriétés particulières qui définissent leur relation avec le parent :

PropriétéDescription
parentNom (name) du document parent
parenttypeDocType du parent
parentfieldChamp du parent qui relie cet enfant au parent
idxNuméro d’ordre (ligne)

Pages liées