ユーザーのアカウントにコンテンツを投稿できる電子メール アドレスを追跡する 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
より良い方法はありますか?