在 Django 中,如何从字符串值创建模型实例?

gat*_*ath 3 django

全部,

我有代表我的模型和字段的字符串,就像这样

modelNameStr = 'MyModel'
fieldNameStr = 'modelField'
Run Code Online (Sandbox Code Playgroud)

我的模型看起来像这样;

class MyModel(models.Model):
    modelField = ForeignKey( ForeignModel )
    ...
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用字符串变量创建一个MyModel实例,例如

model_instance = modelNameStr.objects.filter(fieldNameStr=ForeignModelInstance)
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

加特

Ign*_*ams 5

model_instance = ContentType.objects.get(app_label=u'someapp', model=modelNameStr).model_class()(**{fieldNameStr: ForeignModelInstance})
Run Code Online (Sandbox Code Playgroud)

呼!试着说是五倍快!但请确保为 使用适当的值app_label。