Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- list_filter = (('article__product', SearchableFilter),
- ('article', SearchableFilter))
- def lookup_allowed(self, lookup, value):
- return lookup in [
- 'article__id__exact',
- 'article__product__id__exact',
- ] or super(LicenseAdmin, self).lookup_allowed(lookup, value)
- """
- from django.contrib.admin import RelatedFieldListFilter
- from django.core.urlresolvers import reverse
- class SearchableFilter(RelatedFieldListFilter):
- template = 'admin/searchable_filter.html'
- def choices(self, cl):
- ch = list(super(SearchableFilter, self).choices(cl))
- return ch[:1] + list(sorted(ch[1:], key=lambda x: x['display'].strip()))
- def admin_link(obj, name=None):
- if isinstance(obj, str):
- def _admin_link(instance):
- from django.db.models import Manager
- instance = getattr(instance, obj)
- if isinstance(instance, Manager):
- instance = instance.all()
- return admin_link(instance)
- _admin_link.allow_tags = True
- _admin_link.short_description = str(obj).replace('_', ' ').capitalize()
- return _admin_link
- if hasattr(obj, '__iter__'):
- return '<br>'.join(map(admin_link, obj))
- if obj:
- return '<a class="changelink" style="color: #334" href="%s">%s</a>' % (
- reverse('admin:%s_%s_change' % (
- obj._meta.app_label,
- obj._meta.module_name,
- ), args=(
- obj.pk,
- )),
- name or obj)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement