Django - 用户组的模型字段

时间:2014-02-02 12:08:20

标签: django django-admin

我有一个名为PM的模型来创建Private Message objects。这是:

class Pm(models.Model):

    """
    Messaging System
    """
    subject = models.CharField(verbose_name='Message Subject',
                               max_length=50, blank=False)
    content = models.TextField(verbose_name='Message Content',
                               max_length=1000, blank=False)
    to = models.ForeignKey(settings.AUTH_USER_MODEL, null=False,
                           blank=False,verbose_name='Target',
                           related_name='target')
    sender = models.ForeignKey(settings.AUTH_USER_MODEL,
                               blank=False,verbose_name='Sender',
                               null=False,
                               related_name='source')

我可以为单个用户创建一条消息。如果我将to字段更改为Many2Many字段,那么我可以为多个用户创建此消息。

但我想要的是为某些用户组创建此消息。应该有一个像Programmers这样的群组,其中包含10个用户。

我正在使用Django Admin进行管理。

感谢

1 个答案:

答案 0 :(得分:3)

只需将模型链接到Group对象,如下所示:

from django.contrib.auth.models import Group

class Pm(models.Model):
    # ...
    group = models.ForeignKey(Group)

小注意:根据您的需要,使用您自己的群组模型创建自己的用户模型可能会更好。虽然这些内置函数非常适合开箱即用的初始化,但它们并不是非常灵活,而且主要用于管理管理站点。