django将布尔值添加到多对多关系中

时间:2011-01-04 13:21:50

标签: django-models

在我的应用程序中,我添加了一个简单的消息服务,允许用户向系统上的其他用户的子集发送消息:

from django.db import models
from django.contrib.auth.models import User

class Message(models.Model):
    timestamp = models.DateTimeField()
    sender = models.ForeignKey(User)
    recipients = models.ManyToManyField(User)
    text = models.CharField(max_length=1000)

    def __unicode__(self):
        return '%s %s: %s' (self.sender.first_name,self.sender.last_name,self.timestamp)

    class Meta:
        ordering = ('timestamp')

但是,我想记录每个用户是否已阅读该消息,因此需要在保持多对多关系的表中添加一个布尔字段。

我应该通过显式添加另一个模型并仅使用ForeignKey()来实现这一点,还是有更多'django'的方法呢?

由于

1 个答案:

答案 0 :(得分:1)

没关系,我的谷歌搜索能力很弱,只是在文档中找到了正确的位置:

http://docs.djangoproject.com/en/dev/topics/db/models/#extra-fields-on-many-to-many-relationships