admin.py
from django.contrib import admin
from mysite.books.models import Author, Book, Publisher
class AuthorAdmin(admin.ModelAdmin):
list_display = ('first_name', 'last_name', 'email',)
search_fields = ('first_name', 'last_name',)
class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'publisher', 'publication_date',)
list_filter = ('publication_date',)
date_hierarchy = 'publication_date'
ordering = ('-publication_date',)
# fields = ('title', 'authors', 'publisher',)
filter_horizontal = ('authors',)
admin.site.register(Author, AuthorAdmin)
admin.site.register(Book, BookAdmin)
admin.site.register(Publisher)
# -*- encoding: utf-8 -*-
from django.db import models
class Publisher(models.Model):
name = models.CharField("Компаания", max_length=30)
address = models.CharField("Адрес", max_length=50)
city = models.CharField("город", max_length=60)
state_province = models.CharField("область", max_length=30)
country = models.CharField("страна", max_length=50)
website = models.URLField("WEB сайт")
def __unicode__(self):
return self.name
class Meta:
ordering = ["name"]
class Author(models.Model):
salutation = models.CharField("обращение", max_length=10)
first_name = models.CharField("имя", max_length=30)
last_name = models.CharField("фамилия", max_length=40)
email = models.EmailField("e-mail", blank=True)
headshot = models.ImageField("фото", upload_to="/tmp",blank=True)
def __unicode__(self):
return "%s %s" % (self.first_name, self.last_name,)
class Meta:
ordering = ["first_name", "last_name",]
class Book(models.Model):
title = models.CharField("название", max_length=100)
authors = models.ManyToManyField(Author, verbose_name="автор(ы)")
publisher = models.ForeignKey(Publisher, verbose_name="издатель")
publication_date = models.DateField("дата публикации", blank=True, null=True)
def __unicode__(self):
return self.title
class Meta:
ordering = ["title"]