photo26/photologue/admin.py
2022-01-30 13:45:55 +01:00

42 lines
1.3 KiB
Python

from django.contrib import admin
from django.utils.translation import gettext_lazy as _
from .models import Gallery, Photo, Tag
class GalleryAdmin(admin.ModelAdmin):
list_display = ('title', 'date_start', 'photo_count')
list_filter = ['date_start']
date_hierarchy = 'date_start'
prepopulated_fields = {'slug': ('title',)}
model = Gallery
autocomplete_fields = ['photos', 'tags']
search_fields = ['title', ]
class PhotoAdmin(admin.ModelAdmin):
list_display = ('title', 'date_taken', 'date_added',
'is_public', 'view_count', 'admin_thumbnail', 'get_owner')
list_filter = ['date_added', 'is_public', 'owner']
search_fields = ['title', 'slug', 'caption']
list_per_page = 25
prepopulated_fields = {'slug': ('title',)}
readonly_fields = ('date_taken',)
model = Photo
def get_owner(self, obj):
return obj.owner.username
get_owner.admin_order_field = 'owner'
get_owner.short_description = _('owner')
class TagAdmin(admin.ModelAdmin):
list_display = ('name',)
search_fields = ('name',)
prepopulated_fields = {'slug': ('name',)}
model = Tag
admin.site.register(Gallery, GalleryAdmin)
admin.site.register(Photo, PhotoAdmin)
admin.site.register(Tag, TagAdmin)