我的看法
settings.py
>
USER_TYPES = [
(1,'first'),
(2, 'second')]
models.py
>
第一个应用程序
class User_First(models.Model):
type = models.PositiveIntegerField(choices=settings.USER_TYPES)
第二个应用
class User_Second(models.Model):
type = models.PositiveIntegerField(choices=settings.USER_TYPES)
Views.py
>
如果您在应用中使用 CBV
first_app
class BaseView(Views):
def dispatch(self, request, *args, **kwargs):
if not request.user.type == 2:
redirect(views of second app)
else:
super(BaseView, self).dispatch(request=request,*args,**kwargs)
second_app
class BaseView(Views):
def dispatch(self, request, *args, **kwargs):
if not request.user.type == 1:
redirect(views of second app)
else:
super(BaseView, self).dispatch(request=request,*args,**kwargs)
然后所有视图都继承自它