【发布时间】:2015-06-18 05:47:10
【问题描述】:
假设我有以下 django 模型:
class ModelB(models.Model):
title = models.CharField(max_length=20)
class ModelD(models.Model):
name = models.CharField(max_length=20)
在 django ORM 中,我试图读取一个 string,它是一个 model 的名称,并用它来查询。像这样的:
>>b = 'ModelB'
>>b.objects.all()
这显然行不通,因为它是一个字符串。我看过ContentType,但我不确定它对我的场景有什么帮助。有什么建议吗?
我还尝试对Contentype 执行get 操作,如下所示:
>>> z = ContentType.objects.get(model='modelb')
>>> z
<ContentType: model b>
>>> z.__dict__
{'model': u'modelb', '_state': <django.db.models.base.ModelState object at 0x7f195346c150>, 'id': 14, 'app_label': u'testapp'}
>>>
但我不知道如何从这里进一步前进!
【问题讨论】:
标签: python django django-orm