예상보다 많은 django 응용 프로그램을 사용하고 있으며 일부 데이터를 보관해야 궁극적 인 쿼리 속도가 느려지지 않습니다. 내 질문은 기존 모델을 보관하는 가장 좋은 방법은 무엇입니까? 여기에 지금까지 생각했을 것입니다 :Django에서 모델 데이터 보관
1 - 상속 된 모델 만들기 : - 뭔가 그것뿐만 아니라 보관 된 인스턴스를 생성합니다 내 원래 모델에 저장 될 때마다 그래서 post_save 방법을 만들기
class OriginalModel(models.Model):
...
field = models.CharField(etc...)
...
class ArchivedModel(OriginalModel):
pass
(2) .
3 - 원래 모델에서 샐러리로 퍼지 작업을 생성하여 관련 데이터 만 유지합니다.
하지만 모델 상속이 예상대로 작동하는지 확신 할 수 없습니다. 누군가가 이것에 대한 약간의 의견을 가지고 있다면 크게 감사 할 것입니다.
최상의 솔루션은 프로젝트의 구체적인 세부 사항에 달려 있습니다. 일단 내가 한 일은 받아 들인 대답이 말한다. Django의 견해로는 수많은 것들이 복잡합니다. 관리 인터페이스를 통해 레코드를 찾으려고하는 것만큼이나 평범한 것 : 레코드가 아카이브 된 경우 아카이브에서 검색해야합니다. 그렇지 않으면 기본 테이블에서 검색해야합니다. 아, 이것은 극복할만한 것이지만, ORM 수준의이 분할은 곧 모든 곳에서 기습합니다. 나는 프로젝트가 성숙되면서 결국 하나의 테이블로 되돌아갔습니다. 언급 한 성능 문제는 DB 수준에서 해결해야합니다. – Louis