2016-07-16 2 views
0

내 프로젝트에는 많은 모델이 있습니다.Django의 데이터를 마법처럼 보관 하시겠습니까?

각 모델에는 생산 중일 때 True이고 생산이 완료되거나 사용되지 않을 때 False 필드가 있습니다.

Django의 기본 마법 해결책은 무엇입니까? 40-60 개 정도의 모델이 있으므로 이상적으로는 하나의 솔루션이 모두 포함되어야합니다.

각 모델마다 개별적으로 개발 노력이 필요한 답변이 Archiving model data in Django인데 많은 모델이 생성됩니다.

모든 마법의 대안?

답변

1

이 문제는 Abstract Model Inheritance으로 해결할 수 있습니다.

이렇게하면 한 클래스 및 필드 집합에 대한 논리를 작성할 수 있으며 모든 하위 클래스에 적용됩니다.

class IsActive(models.Model): 
    class Meta: 
     abstract = True 
    is_active = models.BooleanField(default=False) 

    def toggle_active(self): 
     self.is_active = !self.is_active 

class Child(IsActive): 
    # This object now has `is_active` and `toggle_active` fields. 
관련 문제