我正在通过代码创建这样的对象:
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
, 意味着您也正在失去计算能力和时间。
但另一种方式,当您使用数据迁移时,它将运行一次 当数据库迁移时,它将创建一个数据库对象条目
.