【发布时间】:2018-10-17 13:12:37
【问题描述】:
我有两个模型
class Message(db.Model):
id = db.Column(db.Integer, primary_key=True)
message_text = db.Column(db.Text, nullable=True)
stickers = db.relationship('StickerMessageAssociation', back_populates='message')
...
和
class Sticker(db.Model):
id = db.Column(db.Integer, primary_key=True)
file_id = db.Column(db.String(255), nullable=False)
messages = db.relationship('StickerMessageAssociation', back_populates='sticker')
...
以及连接这两者的中间模型:
class StickerMessageAssociation(db.Model):
__tablename__ = 'message_to_sticker'
message_id = db.Column(db.Integer, db.ForeignKey('message.id'), primary_key=True)
sticker_id = db.Column(db.Integer, db.ForeignKey('sticker.id'), primary_key=True)
message = db.relationship('Message', back_populates='stickers')
sticker = db.relationship('Sticker', back_populates='messages')
当我尝试通过内联模型编辑启用对flask-admin中消息分配贴纸的支持时出现问题:
class InlineStickerModelForm(InlineFormAdmin):
form_label = 'Stickers'
def __init__(self):
return super(InlineStickerModelForm, self).__init__(StickerMessageAssociation)
class MessageView(ModelView):
...
inline_models = (..., InlineStickerModelForm())
当我在管理面板中为消息添加标签时,如下所示:
并尝试保存页面,我收到以下错误:
试图绕过scaffold_inline_form_models 和其他几个方向,但到目前为止没有运气。任何建议将不胜感激。谢谢!
【问题讨论】:
标签: flask flask-sqlalchemy flask-wtforms flask-admin