2016-09-03 19 views
1

我讀的Django書的第六章: http://www.djangobook.com/en/2.0/chapter06.html 而我所做的一切本書的第五章和第六章告訴我,我檢查了我的工作,並搜查了許多錯誤次,但我仍然有問題,當我去http://127.0.0.1:8000/admin/books/book/添加一些書,並保存它,我得到這個錯誤:Django的:列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和python manage.py遷移和python manage.py遷移--fake 和我 操作執行: 應用所有遷移:管理員,CONTENTTYPES,書籍,權威性,會議 運行的遷移: 沒有適用的遷移。 以下內容類型陳舊,需要刪除: books | auther 任何與這些內容類型相關的對象都可以通過外鍵刪除 。您確定要刪除這些內容類型嗎? 如果您不確定,請回答「否」。 輸入'yes'繼續,或'no'取消: 我輸入no。 –

+0

我也嘗試過輸入yes,但沒有做任何事。 –

回答

-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 runserver時,只會產生一些新錯誤: ImportError:沒有模塊命名書籍 –

+0

books是您的應用程序名稱。你將不得不第一個你的項目,然後你的應用程序名稱爲書。 –