2012-06-20 30 views
6

मेरे पास एक ब्लॉग पोस्ट के लिए एक मॉडल है जहां पोस्ट का मालिक उपयोगकर्ता के लिए एक विदेशी कुंजी है। उस मॉडल के साथ कोई भी उपयोगकर्ता ब्लॉग पोस्ट का मालिक हो सकता है। मैं इसे बदलना चाहता हूं ताकि केवल एक निश्चित समूह में उपयोगकर्ता -लेट इसे 'ब्लॉगर्स' कह सकें- ब्लॉग पोस्ट ऑब्जेक्ट का मालिक हो सकता है। आदर्श रूप से यह व्यवस्थापक में भी दिखना चाहिए, मेरा मतलब है ब्लॉग पोस्ट व्यवस्थापक में अभी 'मालिक' के लिए मेनू सभी उपयोगकर्ताओं को सूचीबद्ध करता है, इसे केवल 'ब्लॉगर्स' समूह में सूचीबद्ध करना चाहिए। मैं Django 1.3 के साथ ऐसा कैसे करूं? इस तरह से अपनी ForeignKey परिभाषाDjango, एक मॉडल विदेशी कुंजी में समूह द्वारा फिल्टर उपयोगकर्ता

उत्तर

12

उपयोग limit_choices_to paramether:

author = models.ForeignKey("auth.User", limit_choices_to={'groups__name': "bloggers"}) 
+0

यह बहुत उपयोगी है धन्यवाद। लेकिन क्या होगा यदि मैं अपने विकल्पों को केवल कई समूहों में सीमित करना चाहता हूं? उदाहरण के लिए, मैं या तो 'ब्लॉगर्स' समूह या 'दर्शक' समूह में उपयोगकर्ताओं का चयन करना चाहता हूं। – jgmao

+3

सरल। लेखक = मॉडल। ForeignKey ("auth.User", limit_choices_to = {'group__name__in': ["ब्लॉगर्स", "दर्शक"]}) –

+0

बिल्कुल सही !!! मैं इसे घंटों के लिए देख रहा हूं !! –