我想在models.py中动态指定模型字段。例如:如何动态添加模型字段?
class ModelA(models.Model):
pass # whatever
# immediately after class declaration in models.py
if django_is_not_non_rel:
MyModel.all_modelb = models.ManyToManyField(ModelB, through="ModelAB")
但此代码示例不起作用。当条件成立时,ModelA在所有事物初始化后都没有all_modelb字段。为什么????我如何影响我的意图?
你为什么要做这个? –
我试图让我的例子尽可能简单。真实情况是只有在特定条件成立时才添加动态模型字段。在我的情况下,该字段是一个ManyToManyField,如果Django框架是NonRel,则不会添加...您有解决方案吗? – jacob
为什么不在模型中添加字段,并在条件为真的情况下向其添加关系? AFAIK,特定模型的所有实例应该具有相同的字段。 (但我没有那种经验与Django .. :) –