41 lines
1.2 KiB
Python
41 lines
1.2 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 = 10
|
|
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',)
|
|
model = Tag
|
|
|
|
|
|
admin.site.register(Gallery, GalleryAdmin)
|
|
admin.site.register(Photo, PhotoAdmin)
|
|
admin.site.register(Tag, TagAdmin)
|