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

Lui*_*lho 9 django

如何在Django的Group Model中添加新字段?使用类似的东西

from django.contrib.auth.models import Group
g = Group.objects.get(pk=1)
g.extra_field = "something"
g.save()
Run Code Online (Sandbox Code Playgroud)

这是可能的吗?

编辑:

我需要一个持久的额外字段.

Hed*_*ide 10

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

from django.contrib.auth.models import Group

Group.add_to_class('foo', bar)
Run Code Online (Sandbox Code Playgroud)

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

def bar(self):
    return self.attr * 2
Run Code Online (Sandbox Code Playgroud)

或使用字段映射:

Group.add_to_class('foo', models.RegexField(r'^hello$'))
Run Code Online (Sandbox Code Playgroud)