Object Relationships

There are models which are expected to be used in plugin implementation, so understanding what they are designed for is useful for a plugin writer. Each model below has a link to its documentation where its purpose, all attributes and relations are listed.

Here is a gist of how models are related to each other and what each model is responsible for.

An important feature of the current design is deduplication of Content and Artifact data. Content is shared between Repository, Artifact is shared between Content. See more details on how it affects remote implementation in Define your plugin Remote section.

Check pulp_file implementation to see how all those models are used in practice. More detailed explanation of model usage with references to pulp_file code is below.