0
我一直在試圖破解這個螺母一段時間,但我不能似乎能夠爲multipleselect設置選擇的值。我所擁有的是:Django的multipleselect選擇數據
class GroupUsersForm(forms.Form):
users = forms.MultipleChoiceField()
def __init__(self, *args, **kwargs):
super(GroupUsersForm, self).__init__(*args, **kwargs)
if kwargs.has_key('initial'):
self.selected = kwargs['initial']['users']
self.choices = kwargs['initial']['all']
self.fields[self.get_field_name()] = self.get_users_field()
def get_users_field(self):
field_class = forms.MultipleChoiceField
field = field_class(
label=_(u"users"),
choices = self.get_field_choices(),
widget = FilteredSelectMultiple(_(u"users"), is_stacked= False),
#initial = self.get_field_initial(),
required= False
)
return field
def get_field_name(self):
return 'users'
def get_field_choices(self):
choices = [(p.id, p.username) for p in self.choices]
return choices
def get_field_initial(self):
selected = [(p.id, p.username) for p in self.selected]
return selected
,我開始會這樣:
uform = GroupUsersForm(initial = {'all': users, 'users':u, 'group':g,})
兩個用戶和u查詢集(
users = get_users_with_perms(a).order_by('username', 'last_name', 'first_name')
u = User.objects.filter(Q(groups = g)).order_by('username', 'last_name', 'first_name'))
在一個測試用例甚至是相同的。 沒有選擇的選擇出現了。
我嘗試設置自己手冊冊的初始值y以列表基於對象的ID,通過單一的ID,通過(ID,用戶名)元組等等......用不同的部件試過,但所有小工具顯示所有選項,但他們沒有被選中。
我在做什麼錯?
艾倫
好吧。基本上,我想通了,我做錯的事情是,我沒有指定正確的格式初始數據。我在想,你需要通過同一類型作爲初始數據的選擇信息的。 –