56 lines
1.4 KiB
Python
56 lines
1.4 KiB
Python
from django.db import models
|
|
from modelcluster.fields import ParentalKey
|
|
from modelcluster.models import ClusterableModel
|
|
|
|
from wagtail.models import Orderable, Page, TranslatableMixin
|
|
|
|
|
|
class TestPage(Page):
|
|
pass
|
|
|
|
|
|
class TestModel(TranslatableMixin):
|
|
title = models.CharField(max_length=255)
|
|
|
|
|
|
class InheritedTestModel(TestModel):
|
|
class Meta:
|
|
unique_together = None
|
|
|
|
|
|
class TestChildObject(TranslatableMixin, Orderable):
|
|
page = ParentalKey(TestPage, related_name="test_childobjects")
|
|
field = models.TextField()
|
|
|
|
class Meta(TranslatableMixin.Meta, Orderable.Meta):
|
|
pass
|
|
|
|
|
|
class TestNonParentalChildObject(TranslatableMixin, Orderable):
|
|
page = models.ForeignKey(
|
|
TestPage, on_delete=models.CASCADE, related_name="test_nonparentalchildobjects"
|
|
)
|
|
field = models.TextField()
|
|
|
|
|
|
class ClusterableTestModel(TranslatableMixin, ClusterableModel):
|
|
title = models.CharField(max_length=255)
|
|
|
|
|
|
class ClusterableTestModelChild(Orderable):
|
|
parent = ParentalKey(
|
|
ClusterableTestModel, on_delete=models.CASCADE, related_name="children"
|
|
)
|
|
field = models.TextField()
|
|
|
|
|
|
class ClusterableTestModelTranslatableChild(TranslatableMixin, Orderable):
|
|
parent = ParentalKey(
|
|
ClusterableTestModel,
|
|
on_delete=models.CASCADE,
|
|
related_name="translatable_children",
|
|
)
|
|
field = models.TextField()
|
|
|
|
class Meta(TranslatableMixin.Meta, Orderable.Meta):
|
|
pass
|