0
我在我的几个应用程序的模型(不是全部)上使用我的自定义权限mixin。正在更新Django mixin子实例
对于需要从“旧上下文”权限合并到“新上下文”权限的情况,我希望具有更改所有模型中的相应权限引用属性的功能,该属性将此mixin进行了子类化。
我怎么知道哪些模型子类化了这个权限mixin,并且他们有继承的权限引用属性?
其实我想在我的mixin有这样的功能:
class WorkspaceManagedMixin(models.Model):
workspace = models.ForeignKey(Workspace)
class Meta:
abstract = True
@classmethod
def merge_to(cls, from_wspace, to_wspace):
"""
Reallocating workspace's objects to other workspace.
"""
workspace_managed_models = [] # HOW TO GET THIS?
try:
with transaction.atomic():
for model in workspace_managed_models:
model.objects.filter(
workspace=from_wspace,
).update(workspace=to_wspace)
except IntegrityError as e: # or DatabaseError
raise e
子类的模型可以在项目中的其他Django应用程序。