저는 텍스트 기반 브라우저 게임을 만들고 장고 모델 구조에 대한 조언이 필요합니다. 모든 예제는 같은 프로젝트에서 나온 것이므로 모든 질문을 위에서 아래로 읽었다 고 가정 할 때 동일한 정보를 반복하지 않겠습니다.내 프로젝트의 장고 모델 구조
첫 번째 질문
나는 모든 선수가 참가 노조 모두 플레이어에 대한 보상을 나타냅니다 medals
응용 프로그램에 대한 정보를 보유하고 사용자 프로파일 (Player
모델)을 포함하는 auth
앱 alliance
응용 프로그램이 동맹.
모두 사용자와 제휴 메달 할당하므로 옵션 중 하나가 Medal
에 연결 Player
및 Alliance
모델에 M2M 필드를 만드는 것입니다 수 있습니다.
또 다른 옵션으로 내 다른 프로젝트에서 medals
앱을 사용할 수 있습니다. 이 접근법은 Player
또는 Alliance
에 연결되는 Medal
모델의 일반 관계 사용을 포함합니다.
어떤 솔루션이 장고와 유사합니까? 아니면 할 수 있습니까?
두 번째 질문
플레이어가 수행 할 작업이있을 것입니다. 작업의 시나리오는 매우 다양하므로 각 작업에 대한 고유 한 작업 진행 코드를 작성하기 위해 어떤 종류의 접근 방식이 필요합니다.
작업은 보상에 대한 정보가 포함 된 데이터베이스에 보관됩니다 (거의 동일합니다). 각 작업에 대해 고유 한 코드는 어디에 작성해야합니까? 어쩌면 나중에 필드를 추가하고 나중에 평가해야할까요? 그러면 모든 정보가 DB에 보관됩니다.
또한 작업에는 일부 추적이 필요합니다. 예를 들어, 수동 섹션으로 이동하는 간단한 작업을 상상해보십시오 (플레이어가 어디에 있는지 알 수 있도록). 그런 다음 플레이어가 매뉴얼 페이지를 방문했는지 여부를 어딘가에 등록해야합니다. 나는 다른 모델 TaskTrackers
작업 애플 리케이션을 만드는 방법에 대해 생각합니다. 그런 다음 다른 질문이 생깁니다. 만약 내가 Player
에서 TaskTrackers
또는 그 반대로 OneToOne 필드를 추가해야합니까? 요약하면
은 주요 문제는 내가 사용자 프로파일 모델에 OneToOneFields/M2M 필드를 추가하거나 사용자 모델을 대상 모델에서 OneToOneFields/Foreigneys를 추가할지 여부입니까? 후자는 내 앱을 더 재사용 할 수있게 만들지 만 첫 번째 방법은 더 논리적 일 수 있습니다.
답변을 기다리는 중입니다.
사실, 장고 인증을 사용하려는 경우 "인증"앱을 호출하는 것은 좋지 않습니다. 또한 'auth'라고 표기되며 동일한 이름을 가진 두 개의 앱이 좋지 않습니다 (예 :'manage.py test auth'). – DrTyrsa