link django 用户访问站点框架中的特定站点

link django user to perticular site in site framework

我已经在我的项目中设置了 Django 站点框架, 实际上,我想将 Django 用户合并到那个特定站点

我想要实现的是,当用户从使用站点框架注册的特定站点或子站点注册时,该用户必须 link 到该特定站点,以便我们可以限制用户登录到另一个站点站点及其关联站点凭据。

在不同站点的设置文件中,您可以指定单独的 "users" 数据库,https://docs.djangoproject.com/en/1.10/topics/db/multi-db/

#in site1 settings.py
DATABASES = {
    'default': {
        'NAME': 'app_data',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'priv4te'
    },
    'users': {
        'NAME': 'user_data_site1',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'priv4te'
    }
}

#in site2 settings.py
DATABASES = {
    'default': {
        'NAME': 'app_data',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'priv4te'
    },
    'users': {
        'NAME': 'user_data_site2',
        'ENGINE': 'django.db.backends.mysql',
        'USER': 'mysql_user',
        'PASSWORD': 'priv4te'
    }
}

根据https://docs.djangoproject.com/en/1.10/ref/contrib/sites/

我们绑定模型 `

from django.db import models
from django.contrib.sites.models import Site

class Article(models.Model):
    headline = models.CharField(max_length=200)
    # ...
    site = models.ForeignKey(Site, on_delete=models.CASCADE)

`

所以如果我们为不同的站点使用不同的数据库那么这就没有意义了,因为站点 table 也会因不同的站点而改变

我需要一个数据库,但像上面的模型一样使用外键根据站点区分用户