|
Table of contents
|
Есть одна важная часть, которую мы ещё не сделали. Давайте добавим наши модели в интерфейс администратора, что бы мы могли добавлять, редактировать и удалять объекты в наших таблицах с помощью этого изящного интерфейса. Продолжим наш пример с книгами из главы «Модели», в которой мы создали три модели: Publisher, Author и Book.
В каталоге 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) Этот код указывает Django предоставлять интерфейс для каждой из перечисленных моделей. После этого перейдите на домашнюю страницу административной части (http://127.0.0.1:8000/admin/), вы должны увидеть раздел «Books» с ссылками на Authors, Books и Publishers. (Возможно потребуется остановить и запустить тестовый сервер, чтобы сделанные изменения вступили в силу.) Теперь у вас есть полнофункциональный интерфейс администратора для этих моделей. Это было не так сложно! Добавьте и отредактируйте записи для наполнения вашей базы данных данными. Если вы следовали примерам создания объектов Publisher, которые были даны в главе «Модели» (и не удалили их), вы увидите их записи на странице списка объектов модели.
Следует упомянуть то, что интерфейс администратора обрабатывает
внешние ключи и связь многие-ко-многим, которые присутствуют в
модели 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
На странице «Добавить книгу» (http://127.0.0.1:8000/admin/books/book/add/), издатель (ForeignKey) представлен выпадающим списком, а автор (ManyToManyField) представлен выпадающим списком с множественным выбором. Рядом с этими полями находится иконка зелёного цвета с изображением плюса, которая позволяет добавлять связаные обьекты соответствующего типа. Например, если нажать на иконку возле поля «Издатель», появится дополнительное окно, позволяющее добавить издателя. После того, как вы успешно добавите издателя в этом окне, в форме добавления книги добавится созданый издатель. Красиво. |
Found misprint?
Select it with the mouse and hit Enter
-
Processed:
33
1
199
25
The full repository of DjangoBook translation you can get on GitHub.
We appreciate your patches!
We are glad to hear your questions, comments or suggestions!
(Open in new tab)
Users number: 601
Русская группа
Ускорить процесс перевода!
ЯМ:41001223475816
|
| © 2008-2012 Ruslan Popov @ gmail.com | Powered by Django 1.2.5 |
Точнее раскомментировать, такая строка там уже есть
В urls.py надо добавить admin.autodiscover() иначе в админке будет написано "нет прав"