我有一个基本的 Django 模型,以及子类它的代理模型。它们覆盖所有方法。我需要遍历基模型的所有实例(即for i in BaseModel.objects.all()
),但能够调用它们对应的代理类的方法,而不是基类中声明的占位符方法。
我该如何处理?我实际上有一个模型字段,可以确定哪个代理模型对应于每个特定实例。也许我可以利用它并以某种方式将基类转换为子类?我不知所措。
编辑:我看过这个问题,并设法通过写信来改变课程self.__class__
。但是,与 Django 一起使用是否安全?