2010-06-17 10 views
11

मेरे पास एक डेटाबेस है जो दो अलग-अलग टीमों (दो अलग-अलग समूहों द्वारा व्यवस्थापक इंटरफ़ेस में प्रतिनिधित्व) के बीच बातचीत का ट्रैक रखता है। कुछ क्षेत्रों के लिए, मेरे पास उपयोगकर्ता डेटाबेस के लिए एक विदेशीकी है, और मैं ड्रॉपडाउन लोगों को केवल विशिष्ट समूहों तक ही सीमित करना चाहता हूं।बाधाओं के साथ विदेशीकी ड्रॉपडाउन को सीमित करने के लिए कैसे?

यदि किसी के पास कोई सुझाव है, तो इसकी बहुत सराहना की जाएगी!

उत्तर

16

आप limit_choices_to के लिए देख रहे हैं।

+0

अरे आपके उत्तर के लिए धन्यवाद! हालांकि, मुझे लगता है कि उपयोगकर्ता समूह समूह django व्यवस्थापक में विभिन्न तालिकाओं पर रहता है, मैं उस मामले में कैसे फ़िल्टर करूंगा? – FurtiveFelon

+0

'क्यू 'ऑब्जेक्ट्स के साथ। 'क्यू (group__icontains = u'user ')' –

+0

हे इग्नासिओ, मैं अभी भी इस तरह से भ्रमित हूं कि यह कैसे करें। ऑथ मॉड्यूल के लिए कोड के माध्यम से खोदने के बाद, मैंने पाया है कि समूह को उपयोगकर्ता वर्ग में निम्नानुसार परिभाषित किया गया है: समूह = मॉडल। मैनी टॉनीफिल्ड (समूह, verbose_name = _ ('समूह'), खाली = सही,)। क्वेरी उपयोगकर्ताओं पर आधारित है, इसलिए मैं यह जांचना चाहता हूं कि प्रश्न में मौजूदा उपयोगकर्ता समूह "कानूनी" में है या नहीं। ध्यान दें कि समूह मॉडल में एक आईडी है, इसलिए नाम सीधे उपयोगकर्ता में संग्रहीत नहीं है। आपकी सम्पूर्ण सहायता के लिये बहुत बहुत धन्यवाद! – FurtiveFelon

2

आप प्रपत्र क्षेत्र के लिए अंतर्निहित क्वेरीसमूह बदल सकते हैं: How do I filter ForeignKey choices in a Django ModelForm?

+0

ऐसा लगता है कि इसे दृश्य में किया जाना चाहिए, लेकिन मुझे यकीन नहीं है कि दृश्य को कैसे पहुंचाया जा सकता है, केवल एक चीज जिसे मैं एक्सेस कर रहा हूं वह मॉडल क्लास और मॉडलडमिन श्रेणी है। किसी भी विशेष दिशात्मक सुझाव की सराहना की जाएगी! – FurtiveFelon

+0

आपको एक कस्टम फॉर्म का उपयोग करना चाहिए और इसे फॉर्म के '__init__' में करना चाहिए! डीफ़ __init __ (स्वयं, * तर्क, ** kwargs): सुपर (माईफॉर्म, स्वयं) .__ init __ (* args, ** kwargs) self.fields ["user"]। Queryset = user.objects.filter (। ..) –

2

Django व्यवस्थापक ऐप्स में एक विदेशी कुंजी क्षेत्र के लिए विकल्पों को ओवरराइड करने के लिए, एक formfield_for_foreignkey विधि लिखें।

संबंधित मुद्दे