1
我通过了django doc polls示例。现在我有一个数据库name.info.db
可用。我把它放在与manage.py相同的目录中,也是db.sqlite3所在的目录。 我改变settings.py
到无法在django中访问简单的数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'name.info.db'),
}}
我的models.py是
class PItable(models.Model):
pid_text = models.CharField(max_length=200)
lname_text = models.CharField(max_length=200, null=True)
fname_text = models.CharField(max_length=200, null=True)
affs_text = models.CharField(max_length=2000, null=True)
pmidlist_text = models.CharField(max_length=2000, null=True)
clustering_text = models.CharField(max_length=2000, null=True)
def __str__(self):
return self.fname_text
我从视图和模型中删除的问题和选择(从民调例子)。 我做
python manage.py makemigrations pidb
python manage.py migrate
我得到了以下消息,该消息并没有表现出我的数据库,仍显示已删除模型(问题,选择)。我在这里做错了什么?当我从python shell PItable.objects.filter(id=1)
访问时,它显示为空[]。谢谢你的帮助!!
$ python manage.py sqlmigrate pidb 0001
BEGIN;
--
-- Create model Choice
--
CREATE TABLE "pidb_choice" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "choice_text" varchar(200) NOT NULL, "votes" integer NOT NULL);
--
-- Create model Question
--
CREATE TABLE "pidb_question" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "question_text" varchar(200) NOT NULL, "pub_date" datetime NOT NULL);
--
-- Add field question to choice
--
ALTER TABLE "pidb_choice" RENAME TO "pidb_choice__old";
CREATE TABLE "pidb_choice" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "choice_text" varchar(200) NOT NULL, "votes" integer NOT NULL, "question_id" integer NOT NULL REFERENCES "pidb_question" ("id"));
INSERT INTO "pidb_choice" ("id", "choice_text", "question_id", "votes") SELECT "id", "choice_text", NULL, "votes" FROM "pidb_choice__old";
DROP TABLE "pidb_choice__old";
CREATE INDEX "pidb_choice_7aa0f6ee" ON "pidb_choice" ("question_id");
COMMIT;
你到底在问什么?你删除了表格中的条目还是删除了表格? – e4c5
据我所知,你已经创建了数据库表,但它们是空的 - 你没有插入任何数据。你期望数据库记录奇迹般地出现吗? –
数据库name.info.db已经由其他人使用python代码创建。我只是用它。我可以从python代码访问数据。现在我需要在django中重做整个项目。 – user2607925