【发布时间】:2016-04-14 18:10:19
【问题描述】:
我有两个相同的模型,比如 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)
在哪里
my_dict = {"con":"something", "a":xy}
【问题讨论】:
-
如果您有两个相同的模型,您的数据库架构可能有问题,您应该将模型名称移动到表字段中。
-
该应用需要两个模型,因为我需要两个不同的外键以及其他相似但可能包含不同值的字段。