Initial work to support magazines

This commit is contained in:
2025-11-23 17:32:24 +01:00
parent d757388ca8
commit 1d683b8519
5 changed files with 357 additions and 4 deletions

View File

@@ -1,12 +1,11 @@
from django.db import models
from django.core.exceptions import ValidationError
from tinymce import models as tinymce
from ram.models import PrivateDocument
from metadata.models import Decoder, Shop, Tag
from roster.models import RollingStock
from bookshelf.models import Book, Catalog
from bookshelf.models import Book, Catalog, Issue
class GenericDocument(PrivateDocument):
@@ -77,6 +76,20 @@ class CatalogDocument(PrivateDocument):
]
class MagazineIssueDocument(PrivateDocument):
issue = models.ForeignKey(
Issue, on_delete=models.CASCADE, related_name="document"
)
class Meta:
verbose_name_plural = "Magazines documents"
constraints = [
models.UniqueConstraint(
fields=["issue", "file"], name="unique_issue_file"
)
]
class RollingStockDocument(PrivateDocument):
rolling_stock = models.ForeignKey(
RollingStock, on_delete=models.CASCADE, related_name="document"