Django에서 문서 (단락) 수정 시스템을 가장 잘 구현하는 방법을 파악하는 데 문제가 있습니다.Django 문서 개정 시스템에서 단락 순서를 유지하는 방법은 무엇입니까?
문서의 개정 내역을 단락별로 저장하려고합니다. 즉, ManyToManyField
~ Paragraph
의 클래스 Document
이 있습니다. 단락의 순서를 유지하기 위해 세 번째 클래스 인 ParagraphContainer
을 만들 수 있습니다.
제 질문은 누군가가 기존 단락 사이에 새로운 단락을 추가 할 때 단락 순서가 유지되도록 장고에서 이것을 구현하는 좋은 방법은 무엇입니까?
확실한 방법 중 하나는 ParagraphContainer
클래스에 position 속성을 지정하는 것이지만이 필드는 삽입 된 (또는 삭제 된) 단락 다음의 모든 단락에서 업데이트되어야합니다. 연결된 목록이 또 하나의 옵션이지만 전체 문서를 검색하는 데 매우 느려질 수 있다는 사실에 두렵습니다. 어떤 충고?
Paragraph.save 우선 적용 해 주셔서 감사합니다. 그 자체로 알아두면 유용합니다. 당신의 대답은 기본적으로'position' 속성 ('order')을 가지고 마음에두고 있었던 것이지만, 삽입되는 문장 다음의 다른 모든 단락을 업데이트하는 것을 수반합니다. 1000 단락을 초과 할 때 비효율적 일 수 있습니다 (원격 가능성). 아니면 삽입 효율성과 검색 효율성간에 균형을 맞추어야하는 경우 중 하나입니까? –
단락을 추가하고 가져 오는 것은 당연히 그 솔루션에서 매우 쉽습니다. 재 순서화가 필요한 객체의 수와 사용 사례 '삽입'이 얼마나 일반적인지를 파악하기 위해 사례를 평가할 필요가 있다고 생각합니다. 또한 '다음'단락을 가리키는 'ForeignKey'가있는 솔루션을 생각할 수도 있지만 DB의 순서 지정 함수를 사용할 수 없으므로 검색시 더 복잡합니다. –
잠시 기다려주십시오. 누군가가 참신한 해결책을 찾았는지 알아보기 위해, 그렇지 않으면 나는 당신의 대답을 받아 들일 것입니다, 고마워요! –