在迁移中创建的用户不存在

时间:2017-05-08 18:28:15

标签: python django

我有一个我在数据迁移中创建的系统用户:

new Thread() {
                public void run() {
                    try {
                        Thread.sleep(100);
                        if (sum.contains(jLabel11.getText())) {
                            System.out.println("Now equal");
                        } else {
                            System.out.println("Not equal yet");
                        }
                    } catch (InterruptedException ex) {
                        Logger.getLogger(AlarmClock.class.getName()).log(Level.SEVERE, null, ex);
                    }

                }

            }.start();

我跑了from __future__ import unicode_literals from django.db import migrations from django.contrib.auth.models import User def create_system_user(apps, schema_editor): system_user = User.objects.get_or_create(username="system")[0] system_user.set_password("system") system_user.save() class Migration(migrations.Migration): dependencies = [ ('app', '0021_prev_migration'), ] operations = [ migrations.RunPython(create_system_user) ] ,迁移似乎正常运行。如果我进入shell,则用户按预期存在。但是,当我运行我的测试套件时,我收到错误:

python manage.py migrate

Django 1.10,Python 2.7

1 个答案:

答案 0 :(得分:1)

测试始终以空数据库开头;看起来你的tasks.py在导致创建默认用户的迁移之前被导入了。

但是,出于这个原因,您不应该在模块级别执行查询等操作。将tasks.py中的那一行移动到一个函数中,并在需要时调用它。