向Django添加额外的字段到Django认证组 [英] Add extra Fields to Django to Django Auth Groups
本文介绍了向Django添加额外的字段到Django认证组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
要从django.contrib.auth.models导入组中使用类似
的类别
g = Group.objects .get(pk = 1)
g.extra_field =something
g.save()
是可以吗?
编辑:
我需要一个持久的额外字段。
解决方案
这不是在文档中,但可以使用(预先对猴子补丁有一个基本的了解),在你的models.py或init add:
from django.contrib.auth.models import Group
Group.add_to_class(' foo',bar)
其中bar可以是任何python对象(或方法),例如
def bar(self):
pre>
return self.attr * 2
或使用字段映射:
Group.add_to_class 'foo',models.RegexField(r'^ hello $'))
How add a new field in Group Model of the Django? To use something like
from django.contrib.auth.models import Group g = Group.objects.get(pk=1) g.extra_field = "something" g.save()
it's posssible?
EDIT:
I need a persistent extra field.
解决方案This isn't in the documentation but fine to use (pre to have a basic understanding of monkey patching), in your models.py or init add:
from django.contrib.auth.models import Group Group.add_to_class('foo', bar)
Where bar can be any python object (or method), e.g.
def bar(self): return self.attr * 2
or using a field mapping:
Group.add_to_class('foo', models.RegexField(r'^hello$'))
这篇关于向Django添加额外的字段到Django认证组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文