كيف أقوم بعمل قائمة لقائمة منسدلة في جانغو؟

1

قد يكون العنوان غامضًا بعض الشيء. أحاول إنتاج قائمة منسدلة في django استنادًا إلى الرمز التالي:

class MyForm(forms.Form):
   person_list = PersonYear.objects.all().values('person__pk', 'person__TLA')
   person = forms.CharField(label='Säljare',widget = 
            forms.Select(choices=person_list))

كنت أحاول ذلك ، لأن فهمي هو أنني بحاجة إلى قائمة من النموذج

person_list = [(1 , 'Abc'), (2, 'CDe'),...]

ولكن قائمة الأشخاص الخاصة بي تحتوي على النموذج

<QuerySet [{'person_pk : '1', 'person_TLA : 'Abc'}, {'person_pk : '2', 
'person_TLA : 'CDe'}].......>

لذلك لا يعمل. كيف أفعل هذا. أريد الحصول على قائمة منسدلة باستخدام TLA: s يمكنني من خلالها التعرف على pk.

1 إجابة

1
افضل جواب

يجب عليك استخدام forms.ModelChoiceField لهذا. يستغرق الأمر مجموعة طلبات بحث ولا تحتاج إلى تخصيص الأداة.

person = forms.ModelChoiceField(label='Säljare', queryset=PersonYear.objects.all())
:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام