我有一个NotificationEvent
模型,允许生成通知数据,以便我可以向用户发送有关网站内发生的信息。
NotificationEvent
模型包含category
字段。用户可以生成几种类型的通知。
默认情况下,只有两个类别可用(“新帖子”和“新评论”)。
我希望我的其他应用能够在自己的文件夹中添加新类别,或者像notifications.py
文件一样,或者在模型中添加一些代码。
我不知道如何根据其他应用的内容生成选择。
到目前为止,这是我的代码:
NOTIFICATION_CATEGORIES = (('NEW_POST', 'New post'), ('NEW_COMMENT', 'New comment'))
# More choices can be added by doing (?)
class NotificationEvent(models.Model):
''' Notification events are usually triggered by user actions and kept as a log of what has happened '''
category = models.CharField(max_length=255, choices=NOTIFICATION_CATEGORIES)
sender = models.ForeignKey(User)
receiver = models.ForeignKey(User)
read = models.BooleanField(default=False)
date = models.DateTimeField(auto_now_add=True)
def AddNotificationCategory(DB_VALUE, humean_readable_value):
NOTIFICATION_CATEGORIES += ('DB_VALUE', 'humean_readable_value'),
from notifications.models import AddNotificationCategory
AddNotificationCategory('NEW_LIKE', 'New like')
处理这种情况的最佳方法是什么?