我有两个相同的模型,比如说 django 中的 X 和 Y,如下所示:
class X(models.Model):
con = models.CharField(max_length=100)
a = models.ForeignField("FOO")
class Y(models.Model):
con = models.CharField(max_length=100)
b = models.ForeignField("BAR")
要访问这些模型的对象,我必须使用以下代码:
models.X.objects.get(
con = "something",
a = xy
)
models.Y.objects.get(
con = "something",
b = yx
)
有没有办法将模型名称设置为变量,例如model_name = X
然后使用以下代码访问对象:
models.model_name.objects.get(**my_dict)
where
my_dict = {"con":"something", "a":xy}
你可以这样做:
getattr(models, model_name).objects.get(**my_dict)
它允许您访问的属性models
通过字符串或变量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)