Add a custom manager to filter private and unpublished stuff (#39)

* Implement a customer manager for flatpages

* Implement public manager for private objects

* Add support for unpublished objects in roster and consist

* Add support for unpublished objects in bookshelf

* Update filtering on REST views

* Use uuid in urls.py

* Increment version
This commit is contained in:
2024-11-04 15:00:34 +01:00
committed by GitHub
parent 61b6d7a84e
commit 1c07c6a7a9
22 changed files with 297 additions and 154 deletions

View File

@@ -1,6 +1,5 @@
import os
import shutil
from uuid import uuid4
from django.db import models
from django.conf import settings
from django.urls import reverse
@@ -10,7 +9,7 @@ from tinymce import models as tinymce
from metadata.models import Tag
from ram.utils import DeduplicatedStorage
from ram.models import Image, PropertyInstance
from ram.models import BaseModel, Image, PropertyInstance
class Publisher(models.Model):
@@ -39,8 +38,7 @@ class Author(models.Model):
return f"{self.last_name} {self.first_name[0]}."
class Book(models.Model):
uuid = models.UUIDField(primary_key=True, default=uuid4, editable=False)
class Book(BaseModel):
title = models.CharField(max_length=200)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher, on_delete=models.CASCADE)
@@ -57,9 +55,6 @@ class Book(models.Model):
tags = models.ManyToManyField(
Tag, related_name="bookshelf", blank=True
)
notes = tinymce.HTMLField(blank=True)
creation_time = models.DateTimeField(auto_now_add=True)
updated_time = models.DateTimeField(auto_now=True)
class Meta:
ordering = ["title"]