2012-11-27 35 views
0

我收到了一個我無法解決的有趣/令人沮喪的Python問題。 我們有這樣的代碼:具有工廠功能的可變分辨率

def eventtag_with_view_factory(view): 
    print "==1", view 

    class Cls(models.EventTag): 

     # means this class does not make django change the database 
     class Meta: 
      proxy = True 

     print "==2", view 

     @permalink 
     def get_absolute_url(self): 
      print "==3", view 
      return ("search_query_view",(), 
       {'query': quote('#') + self.name, 'view': view}) 

    return Cls 

這是返回不同 絕對URL的EventTag工廠功能。

如果我們把這個曾經的一切工作正常,但是當我們把它叫做兩次 的1和2 print語句給我們 新的看法(它是從一個for循環調用),但3一個仍然使用我們的 工廠功能調用的第一個值。

任何想法?

+0

我不知道Django的東西,但我不能用非常簡單的腳本重現此我寫信給你模仿你... – mgilson

回答