Django-匹配查询不存在

Django-匹配查询不存在,django,Django,我正在处理一个Django项目,我得到了一个错误,“状态匹配查询不存在。”为什么会发生这种情况?状态在模型存储中,您能解释一下这个错误以及如何解决它吗 谢谢。 观点: 型号: class State(models.Model): name = models.CharField(max_length=255) shortname = models.CharField(max_length=100) def __unicode__(self): retur

我正在处理一个Django项目,我得到了一个错误,“状态匹配查询不存在。”为什么会发生这种情况?状态在模型存储中,您能解释一下这个错误以及如何解决它吗

谢谢。 观点:

型号:

class State(models.Model):
    name = models.CharField(max_length=255)
    shortname = models.CharField(max_length=100)


    def __unicode__(self):
        return self.name


class City(models.Model):
    name = models.CharField(max_length=255)
    state = models.ForeignKey(State)

    def __unicode__(self):
        return self.name


class Store(models.Model):
    name = models.CharField(max_length=255, null=True, blank=True)
    address = models.CharField(max_length=255, blank=True, null=True)
    lon = models.FloatField(blank=True, null=True)
    lat = models.FloatField(blank=True, null=True)
    state = models.ForeignKey(State)
    city = models.ForeignKey(City)


    def __unicode__(self):
        return self.name
回溯:

环境:

请求方法:获取请求URL:

Django版本:1.7.1 Python版本:2.7.6已安装的应用程序: ('django.contrib.admin'、'django.contrib.auth', 'django.contrib.contenttypes','django.contrib.sessions', 'django.contrib.messages'、'django.contrib.staticfiles'、'clients', “cobrands”、“core”、“posts”、“bootstrapform”、“rest\u框架”) 已安装的中间件: ('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', “django.middleware.csrf.CsrfViewMiddleware”, 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.xframeoptions中间件')

回溯:文件 “/home/tabzz/c-dev/local/lib/python2.7/site packages/django/core/handlers/base.py” 在得到答复时 111response=Test中的wrapped_callback(请求,*callback_args,**callback_kwargs)文件“/home/tabzz/c/posts/views.py” 34. '状态“:store.state,文件“/home/tabzz/c-dev/local/lib/python2.7/site packages/django/db/models/fields/related.py” 在中获取 572rel_obj=qs.get()文件“/home/tabzz/c-dev/local/lib/python2.7/site packages/django/db/models/query.py” 进门 357self.model.\u meta.object\u name)

异常类型:DoesNotExist at/posts/Test/异常值:State 匹配的查询不存在


看起来数据库中的存储模型没有
状态
。当您尝试在此处访问
状态时:

data.append({
    'id': store.id,
    'name': store.name,
    'address': store.address,
    'state': store.state,
})

Django抛出错误,因为
state
Store
上的
ForeignKey
,当您使用
Store.state
访问它时,它必须查找它。如果
状态
为空,并且您尚未将
外键
设置为允许
值且
null=True
,Django将引发
DoesNotExist
异常。

请发布错误消息/stacktrace,thx:)!您确定在点击测试视图时生成此错误,而不是其他错误吗?通常这个错误会在Store.objects.get()查询中弹出。我确定,Jingo,这是StackTrace。我看到了,谢谢,现在我遇到了这个问题。“JSON不是可序列化的”我打印“数据”,它保存的状态如下“'state':“我如何只保存“newyork”?:S@Tabbz您需要使用“状态”:store.state.name
data.append({
    'id': store.id,
    'name': store.name,
    'address': store.address,
    'state': store.state,
})