--- /dev/null
+# Generated by Django 5.1.6 on 2025-02-26 17:08
+
+import django.db.models.deletion
+from django.db import migrations
+from django.db import models
+
+
+class Migration(migrations.Migration):
+ dependencies = [
+ ("documents", "1063_alter_workflowactionwebhook_url_and_more"),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name="document",
+ name="head_version",
+ field=models.ForeignKey(
+ blank=True,
+ null=True,
+ on_delete=django.db.models.deletion.CASCADE,
+ related_name="versions",
+ to="documents.document",
+ verbose_name="head version of document",
+ ),
+ ),
+ ]
),
)
+ head_version = models.ForeignKey(
+ "self",
+ blank=True,
+ null=True,
+ related_name="versions",
+ on_delete=models.CASCADE,
+ verbose_name=_("head version of document"),
+ )
+
class Meta:
ordering = ("-created",)
verbose_name = _("document")
"remove_inbox_tags",
"page_count",
"mime_type",
+ "head_version",
+ "versions",
)
list_serializer_class = OwnedObjectListSerializer
GenericViewSet,
):
model = Document
- queryset = Document.objects.annotate(num_notes=Count("notes"))
+ queryset = Document.objects.all()
serializer_class = DocumentSerializer
pagination_class = StandardPagination
permission_classes = (IsAuthenticated, PaperlessObjectPermissions)
def get_queryset(self):
return (
- Document.objects.distinct()
+ Document.objects.filter(head_version__isnull=True)
+ .distinct()
.order_by("-created")
.annotate(num_notes=Count("notes"))
.select_related("correspondent", "storage_path", "document_type", "owner")