*********************************************
:mod:`mopidy.models` -- Immutable data models
*********************************************

.. automodule:: mopidy.models
    :synopsis: Immutable data models.
    :members:
    :undoc-members:

Model relations
===============

.. digraph:: model_relations

    Playlist -> Track [ label="has multiple" ]
    Track -> Album [ label="has one" ]
    Track -> Artist [ label="has multiple" ]
    Album -> Artist [ label="has multiple" ]

********************
:mod:`mopidy.models`
********************

These immutable data models are used for all data transfer within the Mopidy
backends and between the backends and the MPD frontend. All fields are optional
and immutable. In other words, they can only be set through the class
constructor during instance creation.


Data model relations
====================

.. digraph:: model_relations

    Playlist -> Track [ label="has 0..n" ]
    Track -> Album [ label="has 0..1" ]
    Track -> Artist [ label="has 0..n" ]
    Album -> Artist [ label="has 0..n" ]


Data model API
==============

.. automodule:: mopidy.models
    :synopsis: Immutable data models.
    :members:
    :undoc-members:

Add intro to model API
docs: Add intro to model API
