Изучение django из "обучения разработке сайтов с использованием django".В главе 3, при создании модели данных закладок, я следовал приведенным инструкциям и коду, за исключением -
from django.contrib.auth.models import User
class Bookmark(models.Model):
title = models.CharField(maxlength=200)
user = models.ForeignKey(User)
link = models.ForeignKey(Link)
, где я изменил
title = models.CharField(maxlength=200)
на
title = models.CharField(max_length=200)
как я получаю сообщение об ошибке.После этого я запустил python manage.py syncdb, затем python manage.py sql bookmarks.Когда я проверил http://localhost:8000/user/my_username,, я получаю это сообщение об ошибке:
Request Method: GET
Request URL: http://127.0.0.1:8000/user/j/
Django Version: 1.3
Exception Type: TemplateSyntaxError
Exception Value:
**Caught DatabaseError while rendering: no such column: bookmarks_bookmark.title**
Просматривая это, я узнал, что sqlite3, база данных, которую я использовал, не может найти bookmarks_bookmark.title.Я вернулся в книгу, чтобы убедиться, что все скопировано правильно, и я сделал, за исключением той части, которую я изменил (max_length).Когда я запустил python manage.py sql bookmarks, он дал мне -
BEGIN;
CREATE TABLE "bookmarks_bookmark" (
"id" integer NOT NULL PRIMARY KEY,
"title" varchar(200) NOT NULL,
"user_id" integer NOT NULL REFERENCES
"auth_user" ("id"),
"link_id" integer NOT NULL REFERENCES
"bookmarks_link" ("id"),
);
CREATE TABLE "bookmarks_link" (
"id" integer NOT NULL PRIMARY KEY,
"url" varchar(200) NOT NULL UNIQUE
);
COMMIT;
Как мне это исправить?Спасибо!