django中不存在App_模型

django中不存在App_模型,django,python-2.7,django-models,Django,Python 2.7,Django Models,我是django的新手,有点问题。我正在为一个小项目创建一个简单的视图、模板和模型。当我在“投票”应用程序中请求类型模型时,我得到了投票类型不存在的错误。我不明白为什么它要在数据库中寻找投票类型而不是类型 所以我去寻找一个问题,现在我试图从python控制台在数据库中创建一个模型类型的对象,我得到了相同的错误 这是我的模型: from django.db import models from django.utils import timezone # Create your models h

我是django的新手,有点问题。我正在为一个小项目创建一个简单的视图、模板和模型。当我在“投票”应用程序中请求类型模型时,我得到了投票类型不存在的错误。我不明白为什么它要在数据库中寻找投票类型而不是类型

所以我去寻找一个问题,现在我试图从python控制台在数据库中创建一个模型类型的对象,我得到了相同的错误

这是我的模型:

from django.db import models
from django.utils import timezone

# Create your models here.
class Voted_Object(models.Model):
    Voted_Object_name = models.CharField(max_length=50)
    Voted_Object_image = models.ImageField
    Voted_Object_rating = models.IntegerField(default=0)
    Voted_Object_Id = models.IntegerField

class Type(models.Model):
    pub_date = models.DateTimeField('date published')
    Type_name = models.CharField(max_length=50)
    Type_Id = models.IntegerField
这就是我在python控制台中尝试执行Type.objects.all()时遇到的错误

关系“投票类型”不存在 第1行:…teu type.“发布日期”、“投票类型”.“投票类型”中的“类型名称”


我的代码有什么问题?为什么django要寻找Vote_Type而不是Type

默认情况下,django使用命名方案“
{app_name}{class_name}
”创建表-因此它希望在数据库中找到一个名为“Vote_Type”的表,该表对应于
Vote
应用程序中的
Type
模型。您是创建并运行迁移以添加表,还是手动执行此操作

不相关,但我可以建议你这样构造你的应用程序:

from django.db import models
from django.utils import timezone

# Create your models here.
class Vote(models.Model):
    name = models.CharField(max_length=50)
    image = models.ImageField()
    rating = models.IntegerField(default=0)

class VoteType(models.Model):
    pub_date = models.DateTimeField('date published')
    name = models.CharField(max_length=50)
  • 您不需要
    id
    字段-它们是自动添加的
  • 在字段名前面加前缀只会让事情变得冗长<代码>投票。名称比
    投票。投票对象(名称)
    更容易编写/理解。与
    \u对象
    后缀相同
  • type
    是一个关键字,因此可以改用
    VoteType

您运行了
makemigrations
migrate
吗?我肯定运行了,但让我检查一下,再运行一次。Thx获取建议!我确信我已经运行了迁移,但是让我再做一次,只是为了确保。是的,它成功了。抱歉问了个愚蠢的问题,我确信我做了迁移。我想我忘记做什么了。