.. _topics-models:


.. module:: djpcms.models

================================
Database Models
================================


At the heart of the Content Management System lays the :class:`djpcms.models.Page` and
:class:`djpcms.models.BlockContent` database models. A ``page``, or better, the :attr:`djpcms.models.Page.inner_template`
field is a container for one or several ``blocks``,
and each ``block`` has one or several ``contents``.
The number of ``blocks`` within a page is
specified in by the :attr:`djpcms.models.InnerTemplate.numblocks` method.


.. _topics-models-page:


Page Model
================

.. autoclass:: djpcms.models.Page
   :members:
   :member-order: bysource


.. _topics-models-additionalpagedata:

Block Content Model
=============================

.. autoclass:: djpcms.models.BlockContent
   :members:
   :member-order: bysource
   
Inner Template Model
============================

.. autoclass:: djpcms.models.InnerTemplate
   :members:
   :member-order: bysource
   
   
SiteContent Model
=========================

.. autoclass:: djpcms.models.SiteContent
   :members:
   :member-order: bysource
   
Object Permission
=========================

.. autoclass:: djpcms.models.ObjectPermission
   :members:
   :member-order: bysource