2013-02-19 2 views
2

사용자가 내 사이트에 가입 할 때 "계획"(무료, 프로, 엔터프라이즈 등) 개념을 구현하려고합니다.Django Userena Extending

시작은 Python & Django입니다. django-userena이 설치되어 작동 중입니다. 이제 사이트에 가입 할 때 사용자가 "계획"을 선택할 수 있도록 동작을 확장하려고합니다.

나는이 계획이 UserenaBaseProfile의 서브 클래스에 저장 될 것이라고 믿지만 확실치 않다. 계획의 선택이 프로파일의 일부가되어서는 안된다.

Userena을 사용하여 Django 응용 프로그램에서 "계획"의 개념을 구현하는 가장 좋은 방법은 무엇입니까 (Userena을 사용하여 여부를!).

답변

2

플랜 세부 정보가 모두 포함 된 Plan 모델을 만들 수 있습니다. 그런 다음 UserPlan 다음 필드가있는 모델을 만드십시오.

user = models.OneToOneField(UserenaBaseProfile) 
plan = models.ForeignKey(Plan) 
// other fields like validity and audit related fields 

핵심 모델과 사용자의 계획 세부 사항을 구분하는 것이 더 쉽습니다.

0

권한을 계획 수준으로 만들 것입니다. 당신이 계정의 계획 레벨을 확인해야 할 때 다음

class Whatever(ExtendedGuardedModel, BaseModel): 

    name = models.CharField(max_length=200) 

    class Meta(BaseModel.Meta): 
     permissions = (
      ("free", "Free level of access"), 
      ("pro", "Pro level of access"), 
      ("enterprise", "Enterprise level of access"), 
     ) 

: 그들은 특정 객체에 할당해야하는 경우

, 당신은 그 객체의 클래스에 추가 장고 - 보호자를 사용할 수 있습니다 , "무료", "프로"등을 제외하고 사용 권한을 확인하는 일반적인 방법을 사용하면됩니다.

관련 문제