我正在编写一个 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
有没有更好的办法?