Я пишу приложение django, которое отслеживает, по каким адресам электронной почты разрешено публиковать контент в учетной записи пользователя. Пользователь может добавлять адреса в белый и черный список по своему усмотрению.
Любые адреса, которые не указаны, могут быть обработаны для каждого сообщения или просто по умолчанию включены в белый или черный список (опять же, указанный пользователем).
Вот модели Django, которые я написал ... Как вы думаете, это хороший способ сделать это? или я должен добавить поле белого и черного списков в модель профиля каждого пользователя?
class knownEmail(models.Model):
# The user who set this address' permission, NOT
# the user who the address belongs to...
relatedUser = models.ManyToManyField(User)
email = models.EmailField()
class whiteList(knownEmail):
pass
class blackList(knownEmail):
pass
Тогда я мог бы сделать что-то вроде:
def checkPermission(user, emailAddress):
"Check if 'emailAddress' is allowed to post content to 'user's profile"
if whiteList.objects.filter(relatedUser=user, email=emailAddress):
return True
elif blackList.objects.filter(relatedUser=user, email=emailAddress):
return False
else:
return None
Есть ли лучший способ?