Django-匹配查询不存在
我正在处理一个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
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,
})