+
+class AuthorInline(admin.TabularInline):
+ model = models.Author.collections.through
+ autocomplete_fields = ["author"]
+
+
+class BookInline(admin.TabularInline):
+ model = models.Book.collections.through
+ autocomplete_fields = ["book"]
+
+
+class CollectionAdmin(admin.ModelAdmin):
+ list_display = ["name"]
+ autocomplete_fields = []
+ prepopulated_fields = {"slug": ("name",)}
+ search_fields = ["name"]
+ inlines = [AuthorInline, BookInline]
+
+
+admin.site.register(models.Collection, CollectionAdmin)
+
+
+class CategoryAdmin(admin.ModelAdmin):
+ search_fields = ["name"]
+
+admin.site.register(models.Epoch, CategoryAdmin)
+admin.site.register(models.Genre, CategoryAdmin)
+admin.site.register(models.Kind, CategoryAdmin)