Django 迁移,MyModel.objects.get() 返回空列表
Django migration, MyModel.objects.get() returning empty list
使用 Django 1.8.2,我正在尝试在一个模型上进行迁移。
这是模型的一个例子:
class Question(models.Model):
module = models.ForeignKey(Module)
my_order = models.PositiveIntegerField(default=0, blank=False, null=False)
question = models.CharField(max_length=400)
这里是迁移:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
def save_answer(apps, schema_editor):
question_model = apps.get_model("modules", "question")
print question_model
question_list = question_model.objects.all()
print question_list
for question in question_list:
#some changes here
question.save()
class Migration(migrations.Migration):
dependencies = [
('modules', '0002_auto_20160212_1940'),
]
operations = [
migrations.RunPython(save_answer),
]
我根据此文档创建了它:https://docs.djangoproject.com/fr/1.8/topics/migrations/#data-migrations
我的问题是,即使数据库中有 Question 对象,question_list 也总是空的。
然而,打印 question_model 工作正常,所以我想我有正确的模型。
然后我就不明白为什么我获取不到相应的对象
如有任何帮助,我们将不胜感激,
谢谢,
泽维尔
编辑:
事实上,我发现我的问题可能不在迁移本身,因为当我使用 python manage.py migrate
时一切正常,但是当我使用我的 makefile 重新初始化数据库时,错误发生了。
这是生成文件:
reinit-database:
psql -c "DROP DATABASE myDataBase" || true
psql -c "CREATE DATABASE myDataBase"
find . -type d -name "migrations"
find . -type f -name "*.pyc" -delete
python manage.py reset_db
python manage.py migrate auth || true
python manage.py migrate
make load-fixtures
python manage.py createsuperuser
然后我真的不明白它不起作用的原因是什么,但现在我知道了一个技巧...
无论如何,如果有人知道发生了什么,我很感兴趣!
泽维尔
您的代码看起来不错。唯一的问题是您正在打印 qcm_list。那是什么?
使用 Django 1.8.2,我正在尝试在一个模型上进行迁移。
这是模型的一个例子:
class Question(models.Model):
module = models.ForeignKey(Module)
my_order = models.PositiveIntegerField(default=0, blank=False, null=False)
question = models.CharField(max_length=400)
这里是迁移:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
def save_answer(apps, schema_editor):
question_model = apps.get_model("modules", "question")
print question_model
question_list = question_model.objects.all()
print question_list
for question in question_list:
#some changes here
question.save()
class Migration(migrations.Migration):
dependencies = [
('modules', '0002_auto_20160212_1940'),
]
operations = [
migrations.RunPython(save_answer),
]
我根据此文档创建了它:https://docs.djangoproject.com/fr/1.8/topics/migrations/#data-migrations
我的问题是,即使数据库中有 Question 对象,question_list 也总是空的。 然而,打印 question_model 工作正常,所以我想我有正确的模型。 然后我就不明白为什么我获取不到相应的对象
如有任何帮助,我们将不胜感激,
谢谢,
泽维尔
编辑:
事实上,我发现我的问题可能不在迁移本身,因为当我使用 python manage.py migrate
时一切正常,但是当我使用我的 makefile 重新初始化数据库时,错误发生了。
这是生成文件:
reinit-database:
psql -c "DROP DATABASE myDataBase" || true
psql -c "CREATE DATABASE myDataBase"
find . -type d -name "migrations"
find . -type f -name "*.pyc" -delete
python manage.py reset_db
python manage.py migrate auth || true
python manage.py migrate
make load-fixtures
python manage.py createsuperuser
然后我真的不明白它不起作用的原因是什么,但现在我知道了一个技巧...
无论如何,如果有人知道发生了什么,我很感兴趣!
泽维尔
您的代码看起来不错。唯一的问题是您正在打印 qcm_list。那是什么?