Coverage for catalog/admin.py: 100.00%
25 statements
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-13 15:39 -0700
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-13 15:39 -0700
1from django.contrib import admin
3from .models import Author, Book, BookInstance, Genre, Language
5"""Minimal registration of Models.
6admin.site.register(Book)
7admin.site.register(Author)
8admin.site.register(BookInstance)
9admin.site.register(Genre)
10admin.site.register(Language)
11"""
13admin.site.register(Genre)
14admin.site.register(Language)
17class BooksInline(admin.TabularInline):
18 """Defines format of inline book insertions"""
20 model = Book
21 extra = 0
24@admin.register(Author)
25class AuthorAdmin(admin.ModelAdmin):
26 """Administration object for Author models.
27 Defines:
28 - fields to be displayed in list view (list_display)
29 - orders fields in detail view (fields),
30 grouping the date fields horizontally
31 - adds inline addition of books in author view (inlines)
32 """
34 list_display = (
35 "last_name",
36 "first_name",
37 "middle_name",
38 "date_of_birth",
39 "date_of_death",
40 )
41 fields = [
42 "first_name",
43 "middle_name",
44 "last_name",
45 ("date_of_birth", "date_of_death"),
46 ]
47 inlines = [BooksInline]
50class BooksInstanceInline(admin.TabularInline):
51 """Defines format of inline book instance insertion"""
53 model = BookInstance
54 extra = 0
57@admin.register(Book)
58class BookAdmin(admin.ModelAdmin):
59 """Administration object for Book models.
60 Defines:
61 - fields to be displayed in list view (list_display)
62 - adds inline addition of book instances in book view (inlines)
63 """
65 list_display = ("title", "author", "display_genre")
66 inlines = [BooksInstanceInline]
69@admin.register(BookInstance)
70class BookInstanceAdmin(admin.ModelAdmin):
71 """Administration object for BookInstance models.
72 Defines:
73 - fields to be displayed in list view (list_display)
74 - filters that will be displayed in sidebar (list_filter)
75 - grouping of fields into sections (fieldsets)
76 """
78 list_display = ("book", "status", "borrower", "due_back", "id")
79 list_filter = ("status", "due_back")
81 fieldsets = (
82 (None, {"fields": ("book", "imprint", "id")}),
83 ("Availability", {"fields": ("status", "due_back", "borrower")}),
84 )