如果找不到FlaskAdmin外键查找创建

2024-09-30 22:27:36 发布

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

我有一个Flask管理部分,它使用SQLAlchemy模型来构建表单。在

我还不知道如何执行“如果找不到外键,插入新记录”之类的操作。在

例如。采用以下SQLAlchemy模型

class Room(Base):
    __tablename__ = 'rooms'

    id = sqlalchemy.Column(sqlalchemy.Integer,
                           primary_key=True,
                           autoincrement=True
                           )
    description = sqlalchemy.Column(sqlalchemy.String(256))
    name = sqlalchemy.Column(sqlalchemy.String(32))
    phone_numbers = relationship('RoomPhoneNumber',
                                 backref='room')
    intercom_numbers = relationship('RoomIntercomNumber',
                                    backref='room')


class RoomPhoneNumber(Base):
    """
    A phone number assigned to a given room.
    """
    __tablename__ = 'roomextensions'
    id = sqlalchemy.Column(sqlalchemy.Integer,
                           primary_key=True,
                           autoincrement=True
                           )
    number = sqlalchemy.Column(sqlalchemy.String(25))
    room_id = sqlalchemy.Column(sqlalchemy.Integer,
                                sqlalchemy.ForeignKey(Room.id)
                                )

管理模型视图

^{pr2}$

房间管理模型不允许我输入新的RoomPhoneNumber我希望能够从房间管理模型中输入一个电话号码,如果找不到,只需插入当前生成的房间ID,而不必转到RoomPhoneNumberAdmin

Flask Admin中是否缺少配置,或者这是一个糟糕的数据库设计问题?在

感谢您的阅读,如果需要,可以发布更多信息。在

不允许不存在的价值 enter image description here


Tags: 模型idtrueflaskbasestringsqlalchemycolumn