68 lines
1.4 KiB
Python
68 lines
1.4 KiB
Python
from books.models import Author, Book, Journal, Paper
|
|
from django.contrib import admin
|
|
from scrobbles.admin import ScrobbleInline
|
|
|
|
|
|
@admin.register(Journal)
|
|
class JournalAdmin(admin.ModelAdmin):
|
|
date_hierarchy = "created"
|
|
list_display = (
|
|
"title",
|
|
"website_url",
|
|
)
|
|
search_fields = ("title",)
|
|
ordering = ("-created",)
|
|
|
|
|
|
@admin.register(Author)
|
|
class AuthorAdmin(admin.ModelAdmin):
|
|
date_hierarchy = "created"
|
|
list_display = (
|
|
"name",
|
|
"openlibrary_id",
|
|
"bio",
|
|
"wikipedia_url",
|
|
)
|
|
ordering = ("-created",)
|
|
search_fields = ("name",)
|
|
|
|
|
|
@admin.register(Book)
|
|
class BookAdmin(admin.ModelAdmin):
|
|
date_hierarchy = "created"
|
|
list_display = (
|
|
"title",
|
|
"author",
|
|
"issue_or_volume",
|
|
"isbn_13",
|
|
"first_publish_year",
|
|
"pages",
|
|
)
|
|
raw_id_fields = ("authors",)
|
|
search_fields = ("name",)
|
|
ordering = ("-created",)
|
|
inlines = [
|
|
ScrobbleInline,
|
|
]
|
|
|
|
def issue_or_volume(self, obj):
|
|
return obj.subtitle
|
|
|
|
|
|
@admin.register(Paper)
|
|
class PaperAdmin(admin.ModelAdmin):
|
|
date_hierarchy = "created"
|
|
list_display = (
|
|
"title",
|
|
"subtitle",
|
|
"arxiv_id",
|
|
"first_publish_year",
|
|
"pages",
|
|
)
|
|
raw_id_fields = ("authors",)
|
|
search_fields = ("name",)
|
|
ordering = ("-created",)
|
|
inlines = [
|
|
ScrobbleInline,
|
|
]
|