पर विचार करें:पायथन/Django: values_list से एक सरल सूची बनाना()
['1', '2', '3']
उद्देश्य:
class ActivityForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ActivityForm, self).__init__(*args, **kwargs)
if self.initial['job_record']:
jr = JobRecord.objects.get(pk=self.initial['job_record'])
# Operators
self.fields['operators'].queryset = jr.operators
# select all operators by default
self.initial['operators'] = jr.operators.values_list('id') # refined as above.
से बहुत धीमी होगी, यह समाधान पूर्णांक की एक सूची देता है। ओपी के रूप में पूछे जाने वाले '[' 1 ',' 2 ',' 3 '] जैसे तारों की सूची प्राप्त करने के लिए, आपको' नक्शा (str, Entry.objects.values_list ('id', flat = True) करना होगा .order_by ('id')) ' –
यह तब काम करता है जब आपके पास ओपी के प्रश्न के अनुसार केवल एक मान होता है। कई मानों के साथ, आप 'सूची (queryset.iterator()) ' – MrE
का उपयोग कर सकते हैं, मुझे Entry.objects.values_list (' id ',' name ', flat = True) पर एकाधिक मान मिल सकते हैं लेकिन फ्लैट = सही है एकाधिक एकल के लिए केवल एक मान के लिए काम नहीं कर रहा है। इसे कैसे दूर करें? – javed