如何在Django中克隆数百万个数据库模型副本

2024-10-04 01:35:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我在django有一个自定义的用户模型。其他一些模型与该用户模型相关,如UserDetails、Prlofile

现在我的数据库中需要大约10万个用户进行测试

我只想通过更改用户模型中的tehir电子邮件地址来创建用户

创建大量对象并使用相应的相关模型将其保存到数据库中的最佳方法是什么


Tags: 对象django方法用户模型数据库电子邮件地址
3条回答

也许,这是最简单的方法

from .models import YourModel


for n in range(100000):
    username, email = f'username{n}', f'email{n}@email.com'
    YourModel.objects.create(username=username, email=email)

只需编写一个脚本并按如下方式运行一次:

import names
from . import YourModel

# Create the loop
for n in range(100000):

    # Assign random name
    username = names.get_full_name()

    # Assign random mail address
    email = username + '@gmail.com'

    # Write the new entry to your database table
    obj, created = YourModel.objects.update_or_create(
                                    defaults={
                                        'username': username,
                                        'email': email,
                                    }

这应该足以满足您的需要。否则,您可以根据需要扩展此基本示例,如插入多个邮件地址的列表等。 您也可以复制上述想法用于其他型号

在一个文件中下载几千个名字,并编写一些代码,这只会添加name@gmail.com, name@email.com, name@whateveryouwant.com,使用名称,只需将其命名为randomNumbers,与密码相同。获得10万美元需要时间,但我不确定是否有更简单的方法

相关问题 更多 >