मैं मॉडल इस तरह की स्थापना की है:Django व्यवस्थापक परिवर्तन सूची छानने/लिंक अन्य मॉडलों के लिए
class ParentModel(models.Model):
some_col = models.IntegerField()
some_other = models.CharField()
class ChildModel(models.Model)
parent = models.ForeignKey(ParentModel, related_name='children')
class ToyModel(models.Model)
child_owner = models.ForeignKey(ChildModel, related_name='toys')
अब मेरी व्यवस्थापक पैनल जब मैं ParentModel
के लिए परिवर्तन सूची को खोलने में मैं एक नया क्षेत्र/स्तंभ list_display में चाहते हैं ChildModel
के परिवर्तक को खोलने के लिए एक लिंक के साथ, लेकिन एक चयनित फ़िल्टर के साथ केवल चयनित माता-पिता के बच्चों को दिखाने के लिए। अभी के लिए मैं इसे इस विधि के साथ महसूस किया है, लेकिन मुझे लगता है कि यह करने के लिए एक क्लीनर तरीका है, मैं बस पता नहीं कैसे:
class ParentAdmin(admin.ModelAdmin)
list_display = ('id', 'some_col', 'some_other', 'list_children')
def list_children(self, obj):
url = urlresolvers.reverse('admin:appname_childmodel_changelist')
return '<a href="{0}?parent__id__exact={1}">List children</a>'.format(url, obj.id)
list_children.allow_tags = True
list_children.short_description = 'Children'
admin.site.register(Parent, ParentAdmin)
तो मेरे सवाल है, यह इस के बिना एक ही हासिल करना संभव है "लिंक हैकिंग"? क्या ParentModel
परिवर्तनीय में एक अलग कॉलम में इंगित करना संभव है, अगर उसके किसी भी बच्चे के खिलौने हैं?
आपके उत्तर के लिए धन्यवाद, यह वास्तव में मुझे बहुत मदद करता है। मुझे हैरान है कि चेंजलिस्ट लिंक फीचर के लिए डीजेंगो के पास एक और शानदार तरीका नहीं है। वैसे भी धन्यवाद, आपकी मदद अब मेरी सभी समस्याओं का हल हो गया। –