]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
baked: Support initial args for cache key
authorINADA Naoki <songofacandy@gmail.com>
Tue, 2 Jun 2015 13:05:18 +0000 (22:05 +0900)
committerINADA Naoki <songofacandy@gmail.com>
Tue, 2 Jun 2015 13:05:18 +0000 (22:05 +0900)
When making baked query in classmethod of declarative base,
cls should be added in cache key.

    @as_declarative
    class Base(object):

        @classmethod
        def baked_query(cls):
            return bakery(lambda: session.query(cls), (cls,))

lib/sqlalchemy/ext/baked.py

index 65d6a86031e2cc7385ea1f318aeccef2067dcce5..96e1f1312f8c3adee2628d4b27815bde9dbda4a8 100644 (file)
@@ -49,8 +49,8 @@ class BakedQuery(object):
 
         _bakery = util.LRUCache(size)
 
-        def call(initial_fn):
-            return cls(_bakery, initial_fn)
+        def call(initial_fn, args=()):
+            return cls(_bakery, initial_fn, args)
 
         return call