feat: Implement initial schema and add various API, service, and management command enhancements across the application.

This commit is contained in:
pacnpal
2026-01-01 15:13:01 -05:00
parent c95f99ca10
commit b243b17af7
413 changed files with 11164 additions and 17433 deletions

View File

@@ -14,6 +14,7 @@ from .models import ListItem, UserList
class ListItemInline(admin.TabularInline):
"""Inline admin for ListItem within UserList admin."""
model = ListItem
extra = 1
fields = ("content_type", "object_id", "rank", "notes")
@@ -24,6 +25,7 @@ class ListItemInline(admin.TabularInline):
@admin.register(UserList)
class UserListAdmin(QueryOptimizationMixin, ExportActionMixin, TimestampFieldsMixin, BaseModelAdmin):
"""Admin interface for UserList."""
list_display = (
"title",
"user_link",
@@ -65,6 +67,7 @@ class UserListAdmin(QueryOptimizationMixin, ExportActionMixin, TimestampFieldsMi
def user_link(self, obj):
if obj.user:
from django.urls import reverse
url = reverse("admin:accounts_customuser_change", args=[obj.user.pk])
return format_html('<a href="{}">{}</a>', url, obj.user.username)
return "-"
@@ -82,6 +85,7 @@ class UserListAdmin(QueryOptimizationMixin, ExportActionMixin, TimestampFieldsMi
@admin.register(ListItem)
class ListItemAdmin(QueryOptimizationMixin, BaseModelAdmin):
"""Admin interface for ListItem."""
list_display = (
"user_list",
"content_type",

View File

@@ -28,4 +28,6 @@ class ListItemViewSet(viewsets.ModelViewSet):
lookup_field = "id"
def get_queryset(self):
return ListItem.objects.filter(user_list__is_public=True) | ListItem.objects.filter(user_list__user=self.request.user)
return ListItem.objects.filter(user_list__is_public=True) | ListItem.objects.filter(
user_list__user=self.request.user
)