Zam*_*ezi 4 python django django-models
我希望扩展Django集团的功能,因此我可以在集团上拥有额外的属性,例如集团主页的网址.像这样的东西:
class Organization(Group):
url = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)
但是,当使用此组织并将其添加到用户(通过使用org.user_set.add(user))时,我无法从用户访问url字段.当我这样做时,user.groups.all()它显示用户所在的组(而非组织)与我在组织中设置的名称相同org.那么我该如何向Group添加功能,但是可以通过我的用户信息访问它?
你有两个选择;
1)新模型;
class GroupProfile(models.Model):
group = models.OneToOneField('auth.Group', unique=True)
url = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)
2)猴子补丁;
Group.add_to_class('url', models.CharField(max_length=100))
Run Code Online (Sandbox Code Playgroud)
在第二个选项中,您必须使用app southfor db migration.