我正在django中编写一个非常自定义的迁移,我想让它与
一起使用django-admin migrate --database databse_name
命令。由于我正在创建自定义光标,因此默认设置对我不起作用。有没有合理的方法让它发挥作用?
答案 0 :(得分:2)
您可以使用db.db_alias
访问它。希望它有所帮助!
答案 1 :(得分:1)
这是“让我们回答真正的老问题”的时间!
下面的信息来自当前django 3.0 docs
您的迁移函数将使用第二个参数,它是一个SchemaEditor
对象。这将为您提供命令数据库。
def forwards_func(apps, schema_editor):
# We get the model from the versioned app registry;
# if we directly import it, it'll be the wrong version
Country = apps.get_model("myapp", "Country")
db_alias = schema_editor.connection.alias
Country.objects.using(db_alias).bulk_create([
Country(name="USA", code="us"),
Country(name="France", code="fr"),
])