Я хочу обслуживать приложение Django, которое обслуживает несколько веб-сайтов по одной базе данных, но с разными пользовательскими наборами. Подумайте, как приложение для блога, оно будет использоваться несколькими доменами с разными темами, но использовать ту же базу данных, добавив поле сайта в модели.Django 1.7 multisite User model
Я использую Django's SitesFramework для этой работы. Но проблема в том, что я не мог разделять модели пользователей для разных сайтов. Я хочу использовать ту же модель пользователя с полем сайта и полем электронной почты, которое уникально для каждого сайта.
Я попытался расширить AbstractUser
модель так:
from django.contrib.auth.models import AbstractUser
from django.contrib.sites.models import Site
from django.contrib.sites.managers import CurrentSiteManager
class Member(AbstractUser):
username = None
site = models.ForeignKey(Site)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = []
on_site = CurrentSiteManager()
class Meta:
unique_together = ('site', 'email')
Но дает эту ошибку: 'Member.email' must be unique because it is named as the 'USERNAME_FIELD'.
Что является лучшей практики для этой проблемы?
С несколькими исправлениями, которые сработали для меня. Вот мой последний код: https://gist.github.com/muratcorlu/1ad61a43d4836d5b1227 Спасибо! –