如何允许其他应用向模型的字段

时间:2015-11-19 00:37:48

标签: django django-models choicefield

我有一个NotificationEvent模型,允许生成通知数据,以便我可以向用户发送有关网站内发生的信息。

NotificationEvent模型包含category字段。用户可以生成几种类型的通知。

默认情况下,只有两个类别可用(“新帖子”和“新评论”)。

我希望我的其他应用能够在自己的文件夹中添加新类别,或者像notifications.py文件一样,或者在模型中添加一些代码。

我不知道如何根据其他应用的内容生成选择。

到目前为止,这是我的代码:

在notifications.models中:

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')

处理这种情况的最佳方法是什么?

0 个答案:

没有答案