2016-09-03 2 views
1

Я читаю главу 6 Джанго книги: http://www.djangobook.com/en/2.0/chapter06.html И я сделал то, что глава 5 и 6 этой книги сказали мне, и я проверил свою работу и искал ошибку много раз, но я все еще возникают проблемы, когда я иду в http://127.0.0.1:8000/admin/books/book/ добавить какую-нибудь книгу и сохранить его, я получаю эту ошибку:Джанго: колонка books_book.publication_date не существует

ProgrammingError at /admin/books/book/

column books_book.publication_date does not exist LINE 1: ...books_book"."title", "books_book"."publisher_id", "books_boo...

и это мои модели на models.py:

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() 

    def __unicode__(self): 
     return self.name 

    class Meta: 
     ordering = ['name'] 
class Author(models.Model): 
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=40) 
    email = models.EmailField() 

    def __unicode__(self): 
     return u'%s %s' % (self.first_name, self.last_name) 

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 

И это на установке .py:

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.messages', 
    'django.contrib.sessions', 
    'django.contrib.staticfiles', 
    'books', 
] 
MIDDLEWARE_CLASSES = [ 
    'django.middleware.security.SecurityMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
] 

И это на admin.py:

from django.contrib import admin 

# Register your models here. 
from django.contrib import admin 
from books.models import Publisher, Author, Book 

admin.site.register(Publisher) 
admin.site.register(Author) 
admin.site.register(Book) 

Заранее спасибо ...

+1

ли вы миграции БД? –

+0

Да я пытаюсь питон manage.py makemigrations и питон manage.py мигрировать и питон manage.py мигрировать --fake и я получаю операций для выполнения: Применить все миграции: админ, ContentTypes, книги, AUTH, сеансы Запуск миграций : Переходов не требуется. Следующие типы содержимого являются устаревшими и их необходимо удалить: books | auther Любые объекты, связанные с этими типами контента внешним ключом, также будут удалены . Вы действительно хотите удалить эти типы контента? Если вы не уверены, ответьте «нет». Введите «да», чтобы продолжить, или «нет», чтобы отменить: и я напечатаю no. –

+0

Я тоже пытался набрав да, но ничего не сделал. –

ответ

-1
Please correct your code like that:  

from django.contrib import admin 

# Register your models here. 
from django.contrib import admin 
from myproject.books.models import Publisher, Author, Book 

admin.site.register(Publisher) 
admin.site.register(Author) 
admin.site.register(Book) 
+0

Спасибо за ваш ответ, но это просто сделать некоторые новые ошибки, когда я пытаюсь выполнить python manage.py runningerver: ImportError: No module named books –

+0

книги - это имя приложения. у вас будет 1-й ваш проект, а затем имя приложения в виде книги. –

Смежные вопросы