2017-04-16 1 views
0

비슷한 질문이 있지만 동일한 내용이나 답변이없는 것 같습니다.같은 프로젝트에있는 두 앱 사이에서 Django 사용자 모델을 공유하십시오.

나는 장고와 함께 연습하고 간단한 네덜란드 경매 프로젝트를 만들려고 노력하고있다. 처음에는 아이디어가 두 개의 별개 앱인 구매자 앱과 판매자 앱을 만들고 데이터베이스 (또는 세 개의 앱, commonApp 구매자 앱 및 판매자 앱)를 공유하도록하는 생각이었습니다. 그러나 더 자세히 살펴보면 더 복잡해질 것입니다. 장고는 한 세트의 테이블에서 모든 데이터를 공유하도록 설계된 다른 앱을 갖고있는 것은 아닙니다. 느슨하게 마이그레이션을 수용하는 방식을 수정해야한다는 사실을 발견했습니다.

생각 # 2, 그냥 신중하게 뷰를 관리하여 기능을 분리하지만, 생각할 수있는 거의 모든 데이터 (사용자, 제품 등) 이후로 한 세트의 모델을 유지하는 하나의 앱을 만드십시오. .) 어쨌든 공유됩니다. Django가 데이터베이스 디자인에 대해 땀 흘리지 않고 모든 데이터 관리를 할 수 있다는 장점이있는 것 같습니다. 그러나 전망을 관리하는 것이 지나치게 복잡해질 것이라고 걱정합니다.

어쩌면 아이디어가 # 3이 프로젝트의 종류, 내가 newb이기 때문에 고려하지 않은 것, 어쩌면 장고는이 직업에 대한 올바른 도구조차도 알 수 있습니다. ...

프로그래밍 아이디어 # 1을 시도해 보니 신속하게 스파게티가되었으며 매우 작을 때만 작동했습니다. 나는 현재 아이디어 # 2를 작업하고 있으며 지금까지는 괜찮을 것이라고 생각하지만,보기에서 물건을 분리하는 방법을 개념화하는 데 어려움을 겪고 있습니다.하지만 이것은 내 경험이 부족할 수 있습니다.

내 질문은 : 내가 누락 된 정보 의이 종류에 대한 명백한 리소스가 있습니까? 그렇다면, 저를 그렇게 지적 해 주시겠습니까? 장고 프로젝트 내부

+0

아이디어 # 2가 정확한 것처럼 보입니다. 같은 방식으로 여러 프로젝트를 만들었습니다. 어떤 부분이 작동하지 않습니까? –

+0

뭔가가 작동하지 않는다고 생각하지 않는다. 나는보기, 명령, 쿼리 등을 (이 경우) 판매자들 사이에서 잘 분리되고 명확한 방식으로 처리하는 방법을 잘 모르겠다. 및 구매자. 어떤면에서 나는 질문을 명확하게하기 위해 더 많은 지식이 필요하다고 생각합니다. 일반적인 Django 개발자가 판매자보기를 하나의 파일 (예 : seller_views.py)에 넣고 구매자보기를 다른 파일에 넣으면 혼합되지 않을까요? 그런 프로젝트/앱에 대해 일반적으로 받아 들여지는 최선의 방법이 있는지 묻고 싶습니다. – TrivialCase

답변

1

:

manage.py startapp sellers 
manage.py startapp buyers 
manage.py startapp common 

settings.py에이 세 가지 응용 프로그램을 추가합니다. 귀하의 장고의 버전에 따라 그것은 단지 'sellers', 'buyers', 'common' 또는 'seller.apps.SellerConfig'이 될 수 있습니다.

모델을 common/models.py 및 두 가지 응용 프로그램과 관련된 기타 논리로 작성하십시오.

그런 다음, 판매자 또는 구매자 뷰 :이 도움이

from common.models import * # or a particular model

희망.

+0

이것은 나를 위해 잘 작동합니다. 장고의 정신이보기가없는 모델 만 포함하는 앱을 갖기 때문에 나는 앞으로 나아갈 것을 주저했습니다. 하지만 프레임 워크가 실제로 이런 종류의 응용 프로그램을 위해 설계되지 않은 것 같아요? – TrivialCase

+0

그런 종류의 응용 프로그램을 위해 설계된 것 같습니다.나는 개인적으로 5 개의 애플 리케이션을 가진 하나의 프로젝트를 가지고있다 : 고객을위한 것, 판매자를위한 것 (사용자는 물론 로직이 다르다), 사이트 관리자 (사이트를 운영하는 사람들), ETL 운영을위한 프로젝트, 일반적인 논리를 가진 일반적인 응용 프로그램입니다. 각 앱마다 다른보기, 명령 및 템플릿이 있습니다. –

관련 문제