Предыдущая часть.
Есть одна важная вещь, которую мы ещё не сделали. Давайте добавим модели в нашу панель управления, что бы могли добавлять, удалять и редактировать объекты в таблицах базы данных, используя удобный интерфейс. Мы продолжим работу с приложением books
из предыдущей главы, в которой мы определили три модели – Publisher
, Author
и Book
.
В директории приложения mysite/books
создайте файл admin.py
с таким содержимым:
from django.contrib import admin from mysite.books.models import Publisher, Author, Book admin.site.register(Publisher) admin.site.register(Author) admin.site.register(Book)
Замените импорт mysite
на путь имя вашего проекта, например в данном случае он будет выглядеть так:
from testing_setevoy_org_ua.books.models import Publisher, Author, Book
Этот код указывает Django на необходимость добавить эти модели в панель управления. После того, как вы это сделаете – перейдите в панель управления – вы должны увидеть раздел Books со ссылками на Authors, Books и Publishers:
Теперь у вас есть полнофункциональный веб-интерфейс для управления каждой из ваших трёх моделей.
Потратьте время, и добавьте и измените несколько записей в вашей базе.
Есть ещё один важный нюанс, о котором стоит упомянуть. Панель управления умеет работать с внешними ключами и отношениями “многое к многому”, которые используются в нашей модели Book
. Напомним, что эта модель выглядит так:
class Book(models.Model): title = models.CharField(max_length=100) authors = models.ManyToManyField(Author) publisher = models.ForeignKey(Publisher) publication_date = models.DateField() def __unicode__(self): return self.title
В панели управления на странице “Add book” поле Pusblisher (внешний ключ) представлен списком выбора, а поле авторов (поле ManyToMany
) – областью множественного выбора:
В обоих полях значок зелёного плюса даёт возможность добавить соответствующую запись. Например, если вы нажмёте на плюс возле поля “Publisher” – у вас появится всплывающее окно, в котором можно добавить нового издателя. После его добавления – форма “Add book” будет обновлена с новым издателем:
Продолжение – Django Book: как работает панель управления.