Add PortfolioImage model for multiple images per portfolio item with inline admin
This commit is contained in:
@@ -3,7 +3,7 @@ from .models import (
|
||||
Service, Project, Client, Order, Review, BlogPost,
|
||||
Category, ServiceRequest, AboutPage, FooterSettings, TeamMember,
|
||||
PortfolioItem, PrivacyPolicy, TermsOfUse, NewsArticle, CareerVacancy,
|
||||
SiteSettings
|
||||
SiteSettings, PortfolioImage
|
||||
)
|
||||
from .forms import ProjectForm
|
||||
|
||||
@@ -49,12 +49,25 @@ class CategoryAdmin(admin.ModelAdmin):
|
||||
search_fields = ('name',)
|
||||
|
||||
|
||||
class PortfolioImageInline(admin.TabularInline):
|
||||
model = PortfolioImage
|
||||
extra = 3
|
||||
fields = ('image', 'caption', 'order')
|
||||
verbose_name = 'Дополнительное изображение'
|
||||
verbose_name_plural = 'Галерея изображений'
|
||||
|
||||
|
||||
@admin.register(PortfolioItem)
|
||||
class PortfolioItemAdmin(admin.ModelAdmin):
|
||||
list_display = ('title', 'client_name', 'completion_date', 'featured', 'is_active')
|
||||
list_filter = ('featured', 'is_active', 'completion_date')
|
||||
search_fields = ('title', 'client_name')
|
||||
list_display = ('title', 'client_name', 'completion_date', 'featured', 'is_active', 'gallery_count')
|
||||
list_filter = ('featured', 'is_active', 'completion_date', 'category')
|
||||
search_fields = ('title', 'client_name', 'description')
|
||||
prepopulated_fields = {'slug': ('title',)}
|
||||
inlines = [PortfolioImageInline]
|
||||
|
||||
def gallery_count(self, obj):
|
||||
return obj.gallery_images.count()
|
||||
gallery_count.short_description = 'Фото в галерее' # type: ignore
|
||||
|
||||
|
||||
@admin.register(NewsArticle)
|
||||
|
||||
Reference in New Issue
Block a user