将额外的字段添加到Django到Django Auth Groups

时间:2013-05-06 21:02:34

标签: django

如何在Django的Group Model中添加新字段? 使用像

这样的东西
from django.contrib.auth.models import Group
g = Group.objects.get(pk=1)
g.extra_field = "something"
g.save()

这是可能的吗?

修改

我需要一个持续的额外字段。

2 个答案:

答案 0 :(得分:10)

这不在文档中,但在你的models.py或init add中使用(预先对猴子修补基本了解)很好:

from django.contrib.auth.models import Group

Group.add_to_class('foo', bar)

其中bar可以是任何python对象(或方法),例如

def bar(self):
    return self.attr * 2

或使用字段映射:

Group.add_to_class('foo', models.RegexField(r'^hello$'))

答案 1 :(得分:2)

我遇到了同样的问题。我想在Groups中添加一个额外的字段。它对我有用 - Monkey patching