मैं केवल कुछ डेटा दिखाने के लिए django व्यवस्थापक के फ़ील्ड में एक फ़ील्ड बनाने का प्रयास करता हूं, लेकिन django document के अनुसार, केवल list_display
का एक उदाहरण अनुकूलित करने में सक्षम होने के लिए दिखाया गया है।django व्यवस्थापक: फ़ील्ड में एक फ़ील्ड को कैसे अनुकूलित करें?
models.py में:
def ports_with_same_scanner(self):
return PortList.objects.filter(scanner=self.scanner)
ports_with_same_scanner.short_description = 'port_lists'
admin.py में, यह काम नहीं करेगा: मैं की तरह निम्नलिखित fieldsets
पर समान दृष्टिकोण की कोशिश की
fieldsets = (
('Scan Template', {
'fields': (('name', 'scanner', 'ports_with_same_scanner',), 'comment', ('in_use',
'fc_growing', 'nc_growing'), 'nvt_prefs')
}),
)
हालांकि, अगर मैं ऐसा यह:
list_display = ('name', 'scanner', 'ports_with_same_scanner', 'comment', 'in_use', 'fc_growing', 'nc_growing', 'nvt_prefs')
ports_with_same_scanner
ठीक काम करता है। समस्या यह है कि मैं अपना प्रदर्शन fieldsets
से list_display
से बदलना नहीं चाहता, मुझे आश्चर्य है कि मैं वही कार्यक्षमता कैसे प्राप्त कर सकता हूं। धन्यवाद।
परीक्षण नहीं है 'के बाद से काम किया जाना चाहिए पोर्ट्स_with_same_scanner' मॉडल पर वास्तविक क्षेत्र नहीं है, उपर्युक्त कोड कैसा नहीं है? यदि मैं अपने 'फ़ील्ड्स' परिभाषा में एक गैर-मॉडल-फ़ील्ड को परिभाषित करने का प्रयास करता हूं, तो Django MyModel के लिए निर्दिष्ट 'फील्ड एरर: अज्ञात फ़ील्ड (my_field_1, my_field_2) के साथ बाहर निकल जाएगा। फ़ील्ड/फ़ील्ड/क्लास MyModelAdmin.' के गुणों को बहिष्कृत करें, और यह 'formfield_for_foreignkey()' विधि को कॉल करने से पहले बाहर निकल जाएगा। आप 'पोर्ट्स_with_same_scanner' को इस तरीके से कैसे परिभाषित करते हैं जो Django को खुश रखता है? – Troy