You are looking at the documentation for an older version of the SDV! We are no longer supporting or maintaining this version of the software

Click here to go to the new docs pages.


Metadata.add_relationship(parent, child, foreign_key=None, validate=True)[source]

Add a new relationship between the parent and child tables.

The relationship is created by adding a reference (ref) on the foreign_key field of the child table pointing at the parent primary key.

  • parent (str) – Name of the parent table.

  • child (str) – Name of the child table.

  • foreign_key (str) – Field in the child table through which the relationship is created. If None, use the parent primary key name.

  • validate (bool) – Whether to validate metadata after adding this relationship or not. Defaults to True.


ValueError – If any of the following happens: * The parent table does not exist. * The child table does not exist. * The parent table does not have a primary key. * The foreign_key field already exists in the child table. * The child table already has a parent. * The new relationship closes a relationship circle.