2010-01-21 108 views
0

我有兩種模式:活動和地點。 活動模型對Place模型具有ReferenceProperty。在django Admin中優化ModelChoiceField管理(AppEngine)

這是試圖修改通過Django管理的活動,我得到一個內存錯誤 從谷歌(如果我從活動中刪除的那場它不會發生時,工作正常,直到將表開始增加,現在 管理員的字段集)

用於編輯RefrenceProperty的小部件使用Place.all()來獲取 的可能值。 由於兩個活動和地點由城市財產分片,我想 優化從Place.all小部件的選擇查詢()只在 相關的地方,例如Place.all()。濾波器(「城市=」, )

我找不到一種方法來覆蓋文檔中的查詢,我是 想知道如果上述甚至可能嗎?如果是這樣,怎麼樣?

回答

0

管理通過重寫管理形式以優化查詢:

class ActivityAdminForm(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
     super(ActivityAdminForm, self).__init__(*args, **kwargs)   
     self.fields['place'].queryset = <... my query ...> 


class ActivityAdmin(admin.ModelAdmin): 
    form = ActivityAdminForm