0
내 응용 프로그램 모델 중 일부에서 사용자 정의 믹스 인 mixin을 사용하고 있습니다 (전부는 아님).Django 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
서브 클래 싱 된 모델은 프로젝트의 다른 장고 응용 프로그램에의 할 수있다.