wagtail/docs/core_components/pages
Tim Heap 15419f4d0e Make RoutablePage a mixin
If a developer wanted to have a site-wide base page class, and also have
some pages be `RoutablePage`s, a conflict between the automatically
generated `page_ptr` fields would occur.

```python
from wagtail.wagtailcore.models import Page
from wagtail.contrib.wagtailroutablepage.models import RoutablePage

class SitePageBase(Page):
    # common functionality
    is_abstract = True
    class Meta:
        abstract = True

class MyPage(RoutablePage, SitePageBase):
    # This model is invalid
    pass
```

`RoutablePage` has been changed to be a mixin `RoutablePageMixin`. Page
classes can use this to gain the `RoutablePage` functionality while
still retaining the ability to subclass other models.

A `RoutablePage` class that derives from both `RoutablePageMixin` and
`Page` has been left in for backwards compatibility, so old code will
continue to function without any modifications.
2014-08-21 19:42:17 +10:00
..
advanced_topics Make RoutablePage a mixin 2014-08-21 19:42:17 +10:00
creating_pages.rst
editing_api.rst
index.rst Make RoutablePage a mixin 2014-08-21 19:42:17 +10:00
model_recipes.rst
theory.rst
writing_templates.rst