Django 自定义默认组模型

Django customise Default Group model

我是 Django 的新手,我想根据自己的要求自定义 Django 的默认组模型,

默认的 django 组模型如下所示:

class Group(models.Model):
    name = models.CharField(_('name'), max_length=80, unique=True)
    permissions = models.ManyToManyField(
        Permission,
        verbose_name=_('permissions'),
        blank=True,
    )

我想添加一个新字段并将名称字段和该新字段作为一个复合主键。

有没有办法做到这一点?

如有任何建议,我们将不胜感激。 谢谢

这里有一个方法可以解决您的问题:

from django.contrib.auth.models import Group


# inherit from Group instead of copy the code...
class Group(Group):
    new_field =  = models.CharField(
        verbose_name=('new-field'),
        max_length=31,
    )

    class Meta:
        indexes = [
            models.Index(fields=['last_name', 'first_name'], name='mixed_idx'),
        ]

Read more 关于 indexs 选项。 (别名 index_together)。