Fixes: 1) Resolve annotations compatibility with mypy `type: ignore` adjustments; 2) Correct `resolve_price_with_currency` method to ensure proper float returns; 3) Handle scenarios for empty or null queryset in vendor methods. Extra: 1) Refactor utility functions for better type annotations and robustness; 2) Minor formatting corrections and removal of redundant mypy strict setting; 3) Improve method return types for consistency.
40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
from django.contrib.admin import ModelAdmin, register
|
|
from django_summernote.admin import SummernoteModelAdminMixin
|
|
|
|
from core.admin import ActivationActionsMixin, FieldsetsMixin
|
|
|
|
from .models import Post, PostTag
|
|
|
|
|
|
@register(Post)
|
|
class PostAdmin(SummernoteModelAdminMixin, FieldsetsMixin, ActivationActionsMixin, ModelAdmin): # type: ignore [misc]
|
|
list_display = ("title", "author", "slug", "created", "modified")
|
|
list_filter = ("author", "tags", "created", "modified")
|
|
search_fields = ("title", "content", "slug")
|
|
filter_horizontal = ("tags",)
|
|
date_hierarchy = "created"
|
|
autocomplete_fields = ("author", "tags")
|
|
readonly_fields = (
|
|
"uuid",
|
|
"slug",
|
|
"modified",
|
|
"created",
|
|
)
|
|
|
|
summernote_fields = ("content",)
|
|
general_fields = [
|
|
"title",
|
|
"author",
|
|
"content",
|
|
"file",
|
|
]
|
|
relation_fields = [
|
|
"tags",
|
|
]
|
|
|
|
|
|
@register(PostTag)
|
|
class PostTagAdmin(ModelAdmin):
|
|
list_display = ("tag_name", "name")
|
|
search_fields = ("tag_name", "name")
|
|
ordering = ("tag_name",)
|