使用数据迁移或使用代码创建对象哪个更好?



我正在通过代码创建这样的对象:

if not Abc.objects.filter(name='xyz').exists():
Abc.objects.create(username='xyz')

但我也可以通过数据迁移来创建它:

def create_myobj(apps, schema_editor):
do stuff
class Migration(migrations.Migration):
dependencies = [ ('myapp', 'your last migration'), ]
operations = [ migrations.RunPython(create_myobj) ]

那么哪个是更好的选择呢?

提前谢谢。

根据您的情况Data Migration应该更好

为什么要进行数据迁移:如果您通过代码创建一个对象,那么在这种情况下,每次使用函数时,Django 都会检查Abc exist or not, 意味着您也正在失去计算能力和时间。

但另一种方式,当您使用数据迁移时,它将运行一次 当数据库迁移时,它将创建一个数据库对象条目

.

最新更新