在 Django 中创建一个虚拟用户(在启动时?)

In Django create a dummyuser (on startup?)

我的目标是在数据库中拥有一个虚拟用户。我已经写了下面的函数

def get_test_user():
    user, created = get_user_model.objects.get_or_create(username=TESTUSER_USERNAME)
    user.set_password(TESTUSER_PASSWORD)
    user.save

但是我应该在哪里以及如何调用它来实现我的目标。我知道测试 django 会创建自己的数据库,并且有创建测试用户的功能。但这实际上也应该 运行 在生产数据库中。

您可以创建data migration,例如:

from django.contrib.auth.hashers import make_password
from django.db import migrations


def create_user(apps, schema_editor):
    User = apps.get_registered_model('auth', 'User')
    user = User(
        username='user',
        email='user@mail.com',
        password=make_password('pass'),
        is_superuser=False,
        is_staff=False
    )
    user.save()


class Migration(migrations.Migration):
    dependencies = [
        ('auth', '0001_initial')
    ]

    operations = [
        migrations.RunPython(create_user),
    ]