Python SQLAlchemy onupdate context.current_参数在内容未更新时中断流

Python SQLAlchemy onupdate context.current_参数在内容未更新时中断流,python,python-2.7,flask,sqlalchemy,flask-sqlalchemy,Python,Python 2.7,Flask,Sqlalchemy,Flask Sqlalchemy,我有一个使用SQL Alchemy的烧瓶应用程序。 我有一个特定的字段,它被设置为使用python方法来修改其更新内容 代码如下: def convert_markdown_to_html(context): #pdb.set_trace() return markdown2.markdown(context.current_parameters['content_markdown']) 以及型号代码: class Event(db.Model): __tablenam

我有一个使用SQL Alchemy的烧瓶应用程序。 我有一个特定的字段,它被设置为使用python方法来修改其更新内容

代码如下:

def convert_markdown_to_html(context):
    #pdb.set_trace()
    return markdown2.markdown(context.current_parameters['content_markdown'])
以及型号代码:

class Event(db.Model):
    __tablename__ = "event"
    id = db.Column(db.Integer, primary_key=True)
    event_name = db.Column(db.String, nullable=False)
    event_details = db.Column(db.String, nullable=False, onupdate=convert_markdown_to_html) # will store html content
    content_markdown = db.Column(db.String, nullable=True) # the markdown of event_details
    event_date = db.Column(db.Date, nullable=False)
    tickets_available = db.Column(db.Integer, nullable=False)
    tickets_left = db.Column(db.Integer, nullable=False)
    ticket_price = db.Column(db.Integer, nullable=True)
    ticket_price_member = db.Column(db.Integer, nullable=True)
    is_price = db.Column(db.Boolean())
    attendees = db.relationship('Event_records', backref=db.backref('attendees'))
问题是,偶尔会在不更新内容的情况下更新事件

发生这种情况时,应用程序会中断,因为

context.current_parameters['content_markdown'] 
不存在

目前,我正在愚蠢地对此进行黑客攻击,在可以想象的情况下更新活动的地方包括以下内容:

result.content_markdown = result.content_markdown + ' '
理想情况下,我希望避免使用数百个空格污染我的描述/内容标记,但我不确定如何最好地避免破坏程序

我可以在实际的update方法中,而不是在model类中,将markdown转换为html,但是这对我来说是非常不合适的,因为我已经在模型代码的其他地方使用convert_markdown_to_html(在永远不会破坏我的应用程序的情况下,因为字段总是更新的)

如果onupdate方法所需的内容不可用,是否有任何方法可以有效且干净地避免运行onupdate方法


提前感谢

可能会进行如下检查:
如果上下文中有“内容”标记。在
将标记转换为html方法中的当前参数
?这将不起作用。如果我们不返回任何内容,返回值将为
None
,因此
event\u details
字段将重置为
NULL
。您是否找到了此问题的解决方案?