title: how to handle sqlalchemy onupdate when current context is empty?
body: <p>I have a model of article which will have slug based on it's title, the model is like this:</p>
  
  <pre><code>from sqlalchemy.ext.declarative import declarative_base
  from sqlalchemy import Column, Integer, String, Text
  
  Base = declarative_base()
  
  
  class Article(Base):
  
      __tablename__ = 'article'
  
      id = Column(Integer, primary_key=True)
      title = Column(String(100), nullable=False)
      content = Column(Text)
      slug = Column(String(100), nullable=False,
                    default=lambda c: c.current_params['title'],
                    onupdate=lambda c: c.current_params['title'])
  </code></pre>
  
  <p><code>slug</code> is taking title's value. So, everytime article <code>slug</code> will match it's title. But, when I edit the content without changing it's title, this
  exception is raised</p>
  
  <pre><code>(builtins.KeyError) 'title' [SQL: 'UPDATE article SET content=?, slug=?,
  updated_at=? WHERE article = ?'] [parameters: [{'article_id': 1,
  'content': 'blah blah blah'}]]
  </code></pre>
  
  <p>I guess that because <code>current_params</code> doesn't contain <code>title</code>. If, I change
  the <code>lambda</code> there and using <code>if</code>, slug will be <code>None</code>. So how can I handle
  this and keep the slug value match it's title?</p>