【发布时间】:2018-09-19 22:57:59
【问题描述】:
我正在编写一个函数,它可以基于动态插入的模型返回表项。所以我需要避免在函数中使用模型名称。现在我有时会与另一个模型建立多对多的关系,并想在那个模型上进行选择。
假设我的 Files 模型中有一个 projects = ManyToMany(Projects) 字段。现在我可以使用了:
filter(projects__in=[1])
选择与 id 为 1 的项目相关的文件,但我需要此过滤器的项目部分是动态的,因此我可以使用类似:
a_field = 'projects'
filter(a_field+'__in'=[1])
这显然行不通。我该怎么做?
【问题讨论】:
-
我可以看到与'duplicate'的相似之处,但是作为初学者,并且涉及到多对多的关系,我认为它还是有用的。
-
顺便说一句,答案正是我想要的!
-
没有任何批评 :) 欺骗的链接内容可能对其他用户有价值。