मैं django व्यवस्थापक (एक मॉडल डैशबोर्ड के दाईं ओर दिखाई देने वाले फ़िल्टर) में एक कस्टम फ़िल्टर कैसे जोड़ सकता हूं? मैं जानता हूँ कि अपनी आसान इस तरह एक "गणना" क्षेत्र के बारे में एक फिल्टर है कि मॉडल का एक क्षेत्र के आधार पर है, लेकिन क्या शामिल करने के लिए:Django पर Django व्यवस्थापक में कस्टम फ़िल्टर 1.3 या
class NewsItem(models.Model):
headline = models.CharField(max_length=4096, blank=False)
byline_1 = models.CharField(max_length=4096, blank=True)
dateline = models.DateTimeField(help_text=_("date/time that appears on article"))
body_copy = models.TextField(blank=False)
when_to_publish = models.DateTimeField(verbose_name="When to publish", blank=True, null=True)
# HOW CAN I HAVE "is_live" as part of the admin filter? It's a calculated state!!
def is_live(self):
if self.when_to_publish is not None:
if (self.when_to_publish < datetime.now()):
return """ <img alt="True" src="/media/img/admin/icon-yes.gif"/> """
else:
return """ <img alt="False" src="/media/img/admin/icon-no.gif"/> """
is_live.allow_tags = True
class NewsItemAdmin(admin.ModelAdmin):
form = NewsItemAdminForm
list_display = ('headline', 'id', 'is_live')
list_filter = ('is_live') # how can i make this work??
अन्य लोगों को मदद कर सकता है ने कहा कि इस सुविधा ट्रंक (1.4 देव) में है। कुछ और जानकारी: [रिलीज नोट] (https://code.djangoproject.com/browser/django/trunk/docs/releases/1.4.txt?rev=16144#L40) और [दस्तावेज़] (https: // कोड। djangoproject.com/browser/django/trunk/docs/ref/contrib/admin/index.txt#L604)। – Paolo
यहां प्रलेखन के लिए एक बेहतर लिंक है; SimpleListFilter को विस्तारित करने का तरीका यहां जाना है। फ़िल्टरस्पेक्स पुराना है। https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_filter – fastmultiplication
देखें [मैटल उत्तर] (https://stackoverflow.com/a/6355234/) आधिकारिक दस्तावेज के लिंक के साथ नीचे। –