2016-09-03 7 views
1

私はDjangoの本の第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である:あなたは、DB移行を事前に

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

はい私はpython manage.py makemigrationsとpython manage.py migrateとpython manage.py migrateを試してみると - となり、実行する操作は です。すべての移行を適用:admin、contenttypes、books、auth、sessions 移行の実行: 適用する移行はありません。 以下のコンテンツタイプは古く、削除する必要があります。 books | auther 外部キーによってこれらのコンテンツタイプに関連するオブジェクトは、 も削除されます。これらのコンテンツタイプを削除してもよろしいですか? わからない場合は、「いいえ」と答えてください。 続行するには「yes」、取り消すには「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 runserverを試してみるといくつかの新しいエラーが発生します: ImportError:No modules modules books –

+0

booksはあなたです。あなたのプロジェクトを1位にしてから、あなたはアプリの名前を本として持っていなければなりません。 –

関連する問題