不知道为什么会出现这个错误.以下是我创建的模型-

from django.db import models
from django.contrib.auth.models import User

class Shows(models.Model):
    showid= models.CharField(max_length=10, unique=True, db_index=True)
    name  = models.CharField(max_length=256, db_index=True)
    aka   = models.CharField(max_length=256, db_index=True)
    score = models.FloatField()

class UserShow(models.Model):
    user  = models.ForeignKey(User)
    show  = models.ForeignKey(Shows)

这是我访问这些模型的视图-

from django.http import HttpResponse
from django.template import Context
from django.template.loader import get_template
from django.http import HttpResponse, Http404
from django.contrib.auth.models import User

def user_page(request, username):
    try:
        user = User.objects.get(username=username)
    except:
        raise Http404('Requested user not found.')

    shows     = user.usershow_set.all()
    template  = get_template('user_page.html')
    variables = Context({
        'username': username,
        'shows'   : shows})
    output = template.render(variables)
    return HttpResponse(output)

在这一点上,我得到了一个错误-

OperationalError: (1054, "Unknown column 'appname_usershow.show_id' in 'field list'")

如你所见,我的模特中甚至都没有这个栏目?为什么会出现这个错误?

推荐答案

正如@inception所说,我的表格模式已经改变了&;运行syncdb不会更新已创建的表.

显然,当通过syncdb更新模型时,对模型的任何更改都不会更改(就像在更新/修改中一样)实际的表.所以我删除了相关的数据库&在空数据库上运行syncdb.现在它工作得很好.:)

对于其他人来说,Django的SOUTH数据迁移工具似乎是最受欢迎的 Select .它似乎提供了Django Model&;syncdb所缺乏的 Select .一定要退房.

Update 29th Sept 2019:从Django 1.7以上版本开始,迁移被构建到Django的核心中.如果您运行的是以前较低版本的Django,您可以在BitBucket上找到该存储库.

Django相关问答推荐

使用override_sets构建一个预装饰的类,以更快的客户端.登录?

创建用户/将用户登录到客户端服务器的标准OAuth/OIDC流程是什么?

Django中的Sync_to_Async修饰器、异步视图

Django没有显示变量

试图找出投票的总数,但无法理解它是如何在序列化器中完成的.我是Django的新手,它是如何完成的?

源自访问外键关系的模型方法 get_absolute_url 的 django 重复 SQL 查询

Django Rest Framework 认证类覆盖 request.user

如何在视图中的 Django 重定向末尾附加字符串?

Django Rest Framework 中的 to_representation() 可以访问普通字段吗

如何运行克隆的 Django 元素?

用于测试文件下载的 Django 单元测试

在 Django 中,您可以向查询集添加方法吗?

在 Django 中获取下一个和上一个对象

清理提交的表单数据中的 HTML

Django urls 直接到 html 模板

如何在 Django/Python 中减go 两个日期?

django 我们可以在预取相关模型上 Select 一个字段吗?

在 django admin 中控制 TextArea 小部件的大小

Django 测试 - 在所有测试中修补对象

Python Django 的多线程