0

私はDjangoの本(Django 1.0 Webサイト開発)をフォローしています。この本は、わかりやすく読みやすいものの、細かい部分が省略されていることがわかりました。しかし、私が受けているこのエラーは、オンラインで解決策を見つけることができませんでした。助けてくれてありがとう。

以下では、models.pyファイルにTagクラスを追加しました。

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シェルで次のコードを実行しようとします。

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.
4

2 に答える 2

1

Bookmarkテーブルにデータを追加しましたか?クエリに対応するレコードがない場合はDoesNotExist、getによって発生します。つまり、に対応するレコードがない場合id=1

于 2012-04-12T17:45:29.940 に答える
1

エラーはそれが言っていることを意味します。に指定された条件に一致するオブジェクトがデータベースにない場合にDoesNotExist発生します。この場合、IDが1のオブジェクトがデータベースにないことを意味します。QuerySet.get()QuerySetBookmark

于 2012-04-12T17:45:44.333 に答える