2009-04-30 8 views
5

Django में, मैं एक बहु-कॉलम <table> के रूप में ModelMultipleChoiceField को कैसे प्रस्तुत करूं?एक बहु-कॉलम तालिका के रूप में ModelMultipleChoiceField

fav = forms.ModelMultipleChoiceField(Show.objects.all(), 
            widget=forms.CheckboxSelectMultiple) 

मैं चाहता हूं कि यह फ़ील्ड बहु-कॉलम तालिका के रूप में प्रस्तुत करे। ऐसा करने का सबसे अच्छा तरीका कौन सा है?

स्पष्टीकरण के लिए, मैं प्रतिपादन एन एन ऑब्जेक्ट्स लेना चाहता हूं और प्रत्येक सेल में एक चेकबॉक्स के साथ एक HTML <table> प्रस्तुत करना चाहता हूं। प्रत्येक <tr> में तीन कॉलम।

उत्तर

6

Django को <ul> का उपयोग करने के लिए हार्ड-कोड किया गया है। widgets.py कोड देखें।

आप CheckboxSelectMultiple विजेट क्लास को उपclass कर सकते हैं और टेबल का उपयोग कर अपना .render() विधि प्रदान कर सकते हैं।

+1

एलओएल, यह मेरा पुराना ब्लॉग पोस्ट है! : - डब्ल्यू! हेहे भी "डेथस्टारविड्ज की आंतरिक कार्यप्रणाली" पर आधारित है;) –

+0

http://skyl.org/log/post/skyl/2011/01/wherein-the-inner-workings-of-the-deathstarwidget-are-revealed/ –

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