Définissons un nouveau DocType:
Les DocTypes peuvent être nommés de différentes facons:
Cela peut être configuré par le champs Autoname. Pour le controleur, laissez vide.
Search Fields: Un DocType peut être nommé sur la base d’une serie mais nous devons toujours pouvoir le chercher par un nom. Dans notre cas, l’arcicle peut etre cherché par un titre ou par l’auteur. Remplissons donc le champs Search Fields.
Les clés étrangères sont, dans Frappe, traduits par un champs de type Link. Le DocType ciblé doit être mentionné dans le champs Options.
Dans notre exemple, pour le doctype Library Transaction
, nous avons un lien vers Library Member
et vers Article
.
Note: Souvenez vous que les champs Link ne sont pas automatiquement enregistré comme clé étrangère afin d'éviter d’indexer la colonne. Cela pourrait ne pas être optimum, c’est pour cela que la validation de la clé étrangère est faite par le framework.
Pour les champs select, comme mentionné plus tôt, ajoutez chacune des options dans le champs Options, chaque option sur une nouvelle ligne.
faites de même pour les autres modèles.
Un modèle standard c’est lorsque vous selectionnez un ID, admettons Library Member dans Library Membership, alors,
les noms et prénoms du membre doivent être copiés dans le champs adequat lors d’enregistrements dans Library Membership Transaction
.
Pour cela, nous pouvons utiliser des champs en lecture seules et, dans les options, nous pouvons définir le nom du lien
et le nom du champs de la propriété que nous voulons parcourir. Dans cet exemple, dans Member First Name nous pouvons
définir library_member.first_name
De la même facon, vous pouvez compléter les autres modèles pour qu’au final le résultat soit:
Vérifiez que le modèles Librarian aient les permissions sur chaque DocType.
{next}