与枚举的多个关系

2024-09-30 14:23:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有带有用户和用户组的模型/表

class User(db.Model, UserMixin):

    __tablename__ = "user"

    id = db.Column(
        db.Integer,
        primary_key=True
    )
    username = db.Column(
        db.String(20),
        unique=True
    )
    [...]
    group_id = db.Column(db.Integer, ForeignKey('user_group.id'))
    group = db.relationship(UserGroup)
    [...]
class UserGroup(db.Model):

    __tablename__ = "user_group"

    id = db.Column(
        db.Integer,
        primary_key=True
    )
    name = db.Column(
        db.String(32),
        unique=False
    )
    [...]

和具有特权类型的枚举

from enum import Enum


class UserGroupPrivilege(Enum):

    PAYMENTS = "payments"
    USERS_MANAGEMENT = "users_management"
    [...]

是否有任何方法可以将此连接到flask admin中的尼斯视图中显示和编辑此内容? 类似于多对多关系,但具有UserGroup to enum UserGroupPrivilege

我希望在编辑用户组时可以添加或删除权限,但只能从枚举值中选择权限。 与编辑UserGroupPrivilege时的用户相同

enter image description here


Tags: 用户idtrue编辑dbmodelgroupcolumn