我的目标是在数据库中有一个虚拟用户。我已经写了以下函数
def get_test_user():
user, created = get_user_model.objects.get_or_create(username=TESTUSER_USERNAME)
user.set_password(TESTUSER_PASSWORD)
user.save
但我应该在何处以及如何调用它来实现我的目标。我知道测试django会创建自己的数据库,并且有创建测试用户的功能。但这实际上也应该在生产数据库中运行。
答案 0 :(得分:1)
您可以创建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),
]