Я просмотрел пример опроса django doc. Теперь у меня есть база данных 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 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