我正在编写一个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
然后我可以做一些类似的事情:
^{pr2}$有更好的方法吗?在
此类将电子邮件地址与电子邮件域的黑名单进行比较。如果您预先付费,您可以使用pip install django-email-blacklist下载此模块。在
我将对其进行重组,使两个列表都包含在一个模型中。在
那么,你的列表就是:
^{pr2}$要检查特定用户,只需向模型添加几个函数:
把所有的东西放在一个地方要简单得多,而且可以用更少的工作量进行更有趣的查询。在
[请以大写字母开头。]
你的代码没有很好地利用你的类区别。在
具体来说,你的类没有任何不同的行为。因为这两个类都有相同的方法,所以不清楚为什么这是两个不同的类。如果他们有不同的方法,那么你的解决方案是好的。在
但是,如果它们没有不同的方法,您可以考虑为
KnownEmail
的两个子集中的每一个子集提供一个自定义的manager相关问题 更多 >
编程相关推荐