del: модели и админка (18) Удалено избыточное поле i_file_size из модели TbHypn0Item ... везде, где использовалось, почистили + миграции

This commit is contained in:
2026-09-02 23:53:35 +03:00
parent 060626e45b
commit da810a8583
5 changed files with 64 additions and 13 deletions
+17 -3
View File
@@ -191,18 +191,18 @@ class TbHypn0ItemAdmin(admin.ModelAdmin):
"""
form = TbHypn0ItemAdminForm
list_display = ("id", "s_hash_id", "title_preview", "i_level", "i_likes_count", "i_claims_count",
"i_views_count", "i_file_size", "f_score", "is_public", "d_created_at", )
"i_views_count", "file_size_display", "f_score", "is_public", "d_created_at", )
list_display_links = ("id", "s_hash_id", "title_preview")
list_filter = ("i_level", "is_public", "d_created_at")
search_fields = ("s_hash_id", "s_title", "s_promo_title", "s_promo_url")
readonly_fields = ("id", "s_hash_id", "i_file_size", "d_created_at", "d_updated_at", "svg_preview",)
readonly_fields = ("id", "s_hash_id", "file_size_display", "d_created_at", "d_updated_at", "svg_preview",)
fieldsets = (
("ID & Hash-ID", {
"fields": (("id", "s_hash_id",), ),
"classes": ("collapse", ),
}),
("Основная информация", {
"fields": ("s_title", ("file_svg", "svg_preview", "i_file_size", "is_public", ), )
"fields": ("s_title", ("file_svg", "svg_preview", "file_size_display", "is_public", ), )
}),
("Модерация и Smart Retention", {
"fields": (("i_level", "f_score", ), ),
@@ -246,6 +246,20 @@ class TbHypn0ItemAdmin(admin.ModelAdmin):
)
return "Нет файла"
@admin.display(description="Размер файла")
def file_size_display(self, obj):
if obj and obj.file_svg:
try:
size_bytes = obj.file_svg.size
if size_bytes >= 1024 * 1024:
return f"{size_bytes / (1024 * 1024):.2f} МБ"
elif size_bytes >= 1024:
return f"{size_bytes / 1024:.1f} КБ"
return f"{size_bytes} Б"
except Exception:
return ""
return ""
# ----
# АДМИНКА ЛАЙКОВ/ДИСЛАЙКОВ (все только на просмотр)