1
我的問題的關鍵是以下幾點。我有一個領域,它繼承了Selet2場Django的形式:不同的用戶獲得相同的搜索結果
class Select2ModelField(MyBaseSelect2ModelField, AutoModelSelect2Field):
'''
Select2ModelField, that uses ajax to get autocomplete options.
Should be used by default.
'''
widget = Select2ChoiceWidget
class LimitedDepartmentChoiceField(Select2ModelField):
def __init__(self, *args, **kwargs):
super(LimitedDepartmentChoiceField, self).__init__(*args, **kwargs)
然後,我用它在我的形式,在views.py創建這個領域,因爲這個領域的內容依賴於請求數據:
form = RepresentativeCreateEditForm(request.POST)
form.fields['department'] = LimitedDepartmentChoiceField(label=u'Department',
queryset=Department.objects.filter(
id__in=all_deps_ids))
的問題是,當兩個不同的用戶在同一時間進入這個頁面,它們都具有的選項相同的列表,正是其中一個用戶,誰第一個加載頁面,有。而這種行爲是不正確的,他們應該有不同的選項列表。
請問誰能告訴我如何解決這個問題?
不幸的是,這並沒有幫助。錯誤是: 類型錯誤: 'Select2ChoiceWidget' 對象不是可調用 '類Select2ChoiceWidget(MySelect2BaseWidget,AutoHeavySelect2Widget): pass' 這裏: '類MySelect2BaseWidget(對象): #there去了很多的實現代碼' – Vladimir 2014-10-03 13:11:41
那麼也許只用'self.widget = Select2ChoiceWidget'來試試吧?它看起來像'Select2ChoiceWidget'已經是一個東西的實例,而不是一個類。 – 2014-10-03 13:47:33
好吧,也沒有工作。(也許,解決方案不是在Django的某個地方,但在某些地方在選擇2包參數? – Vladimir 2014-10-03 15:13:50