擅长:python、mysql、java
<p>基本上就是这样,没有捷径可走。</p>
<p>当然,你们可以概括为:</p>
<pre><code>def get_or_create(session, model, defaults=None, **kwargs):
instance = session.query(model).filter_by(**kwargs).first()
if instance:
return instance, False
else:
params = dict((k, v) for k, v in kwargs.iteritems() if not isinstance(v, ClauseElement))
params.update(defaults or {})
instance = model(**params)
session.add(instance)
return instance, True
</code></pre>