2010-03-17 2 views
0

내가 장고에 새로 온 사람, 그리고 내가이 가능 원하는 것을 확실하지 않다 :장고 : 주문 저장, 임의의 참조

가 나는 각 APPUSER (확장 사용자 모델) 원하는 항목의 번호를 가지고 참조 할 수 있어야합니다.

즉, AppUser가 주어지면 AppUser가 주문한 방식으로 항목 목록을 추출 할 수 있기를 원합니다. 일반적으로 이러한 항목은 실제로 데이터베이스의 다른 항목에 대한 참조가 될 수 있으며 이로 인해 가능한 해결책 중 하나가되었습니다.

AppUser의 CommaSeparatedIntegerField에 지정된 개체의 키를 저장합니다. 이렇게하면 사용자가 항목 필드에 {7, 3, 232, 42, 1}을 (를) 저장할 수 있으며 참조와 선호 순서가 모두 저장됩니다. 그러나 이것은 hacky라고 느낀다. 대부분의 db 백엔드는 CommaSeparatedIntegerField를 내부적으로 VARCHAR로 저장하기 때문에 사용자는 많은 객체로 제한 될뿐만 아니라 선택한 항목의 자릿수도 제한을받습니다. 예 : itemID가 < 인 항목을 선택하면 10 개의 항목을 저장할 수 있지만 10 < 항목 ID가 < 100 인 경우 항목이 5 개뿐입니다.

(편집 :이 사실이 아닌 추한 해킹에있는 경우,이 솔루션을 사용하기위한 성능 저하가 무엇입니까?)

이 작업을 수행 할 수있는 더 나은 방법이 있나요?

답변

1

explicit through table과 함께 주문하는 필드가 있어야합니다.

+0

"나는 장고에 익숙하지 않다."대신에 "나는 경험이 없다"라고 쓰여 있었음에 틀림 없다. 왜냐하면 나는 그것을 전혀 이해하지 못했기 때문이다. 그러나 그것이 내가 바라는 바로 그 것이기를 진심으로 희망한다. :) – Sarah

+0

링크는 쓰루 테이블을 만들고 사용하는 방법을 설명합니다. 그것을 읽고 구체적인 질문을하십시오. –

관련 문제