擅长:python、mysql、java
<p>另一个黑客解决方案是重写工厂的<code>create</code>方法,通过查询和缓存结果来搜索对象。在</p>
<p>这个简单的示例不过滤<code>**kwargs</code>,但是:</p>
<pre><code>class StaticFactory(SQLAlchemyModelFactory):
counter = 0
cache = []
model = None
@classmethod
def create(cls, **kwargs):
if not cls.cache:
cls.cache = your_session.query(cls.model).all()
instance = cls.cache[cls.counter]
cls.counter = (cls.counter + 1) % len(cls.cache)
return instance
</code></pre>