Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python DatabaseError位于/admin/app1/book/no这样的列:app1\u book.related\u id_Python_Django_Django Models - Fatal编程技术网

Python DatabaseError位于/admin/app1/book/no这样的列:app1\u book.related\u id

Python DatabaseError位于/admin/app1/book/no这样的列:app1\u book.related\u id,python,django,django-models,Python,Django,Django Models,我为管理员写了一个Django程序。但事实证明外键出了什么问题,我查不出来 这是我的admin.py和views.py: from django.contrib import admin from app1.models import * class BookAdmin(admin.ModelAdmin): list_display = ('name','auther','pages') search_fields = ['name'] admin.site.register

我为管理员写了一个Django程序。但事实证明外键出了什么问题,我查不出来

这是我的admin.py和views.py:

from django.contrib import admin
from app1.models import *

class BookAdmin(admin.ModelAdmin):
    list_display = ('name','auther','pages')
    search_fields = ['name']

admin.site.register(Book,BookAdmin)
admin.site.register(RelatedBook)
views.py:

from django.contrib import admin
from app1.models import *

class BookAdmin(admin.ModelAdmin):
    list_display = ('name','auther','pages')
    search_fields = ['name']

admin.site.register(Book,BookAdmin)
admin.site.register(RelatedBook)
from django.db import models
CATEGORY_CHOICES = (
    ('s','Science'),
    ('l','Literature'),
    ('e','else'),

)

class Book(models.Model):
    name = models.CharField(max_length = 100)
    auther = models.CharField(max_length= 100)
    pages = models.IntegerField()
    related = models.ForeignKey('RelatedBook')

    def __unicode__(self):
            return self.name

class RelatedBook(models.Model):
    name = models.CharField(max_length = 100)
    category = models.CharField(max_length = 1, choices = CATEGORY_CHOICES)
    description = models.CharField(max_length = 1000)
    def __unicode__(self):
            return self.name

如果在首次创建
图书
模型后添加了相关列,那么syncdb将不会创建它,因为它不处理迁移

如果您有重要数据,则需要手动添加列。如何做到这一点取决于所使用的数据库

如果您没有任何需要保留的数据,那么删除Book表并重新运行syncb可能是最简单的

模式迁移将是即将发布的Django 1.7版本的一部分。对于Django 1.6及更早版本,您可能希望在将来探索迁移工具