我正在关注Django书(Django 1.0网站开发)。我发现这本书虽然直截了当,易读,却遗漏了一些小细节。但是,我得到的这个错误,我还没能在网上找到解决方案。谢谢你的帮助。
下面,我将Tag类添加到models.py文件中。
from django.db import models
from django.contrib.auth.models import User
class Link(models.Model):
url = models.URLField(unique=True)
class Bookmark(models.Model):
title = models.CharField(max_length=200)
user = models.ForeignKey(User)
link = models.ForeignKey(Link)
class Tag(models.Model):
name = models.CharField(max_length=64, unique=True)
bookmarks = models.ManyToManyField(Bookmark)
然后我尝试在python shell上运行以下代码:
from bookmarks.models.import *
bookmark = Bookmark.objects.get(id=1)
结果,我收到以下错误:
Traceback (most recent call last):
File "(console)", line 1, in (module)
File "c:\Python27\lib\site\-packages\django\db\models\manager.py", line 132, in get
return self.get_query_set().get(*args, **kwargs)
File "c:\Python27\lib\site-packages\django\db\models\query.py", line 349, in get
% self.model._meta.object_name)
DoesNotExist: Bookmark matching query does not exist.
答案 0 :(得分:1)
您是否在Bookmark
表中添加了任何数据? DoesNotExist
is raised by get如果没有与您的查询对应的记录。即如果没有与id=1
对应的记录。
答案 1 :(得分:1)
错误意味着它所说的内容。如果数据库中没有符合DoesNotExist
条件的对象,QuerySet.get()
会引发QuerySet
。在这种情况下,它表示数据库中没有Bookmark
对象,ID等于1.