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

时间:2018-10-26 11:29:40

标签: python django django-models

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

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) ]

那么哪个是更好的选择?

谢谢。

1 个答案:

答案 0 :(得分:1)

this.items.snippets = this.items.snippets.map((snippet, index) => index === sindex ? {...snippet, matches: snippet.matches.map((match, index) => index === mindex ? newMatch : match)} : snippet); 根据您的情况应该更好

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

  

但是使用用户数据迁移的另一种方式是运行一次   数据库迁移时,它将输入数据库对象