I'm using django-advanced-filters with django 1.8 on python2.7 django-advanced-filters==1.0.1 django-braces==1.4.0 django-easy-select2==1.2.5
It works fine, but when I try to modify a filter, it fails: models.py:
from django.db import models
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
class SalesRep(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
email = models.EmailField(_('email address'), blank=True)
duty = models.CharField(max_length=30, blank=True)
def __unicode__(self):
return '{} {}'.format(self.first_name, self.last_name)
class Client(models.Model):
VALID_LANGUAGES = (
('en', 'English'),
('sp', 'Spanish'),
('it', 'Italian'),
)
USERNAME_FIELD = 'email'
language = models.CharField(max_length=8, choices=VALID_LANGUAGES, default='en')
email = models.EmailField(_('email address'), blank=True)
first_name = models.CharField(_('first name'), max_length=30, blank=True)
last_name = models.CharField(_('last name'), max_length=30, blank=True)
is_active = models.BooleanField(
_('active'), default=True,
help_text=_('Designates whether this user should be treated as '
'active. Unselect this instead of deleting accounts.'))
assigned_to = models.ForeignKey(SalesRep)
date_joined = models.DateTimeField(_('date joined'), default=timezone.now)
def __unicode__(self):
return '{} {}'.format(self.first_name, self.last_name)
admin.py:
from django.contrib import admin
from advanced_filters.admin import AdminAdvancedFiltersMixin
from .models import *
@admin.register(Client)
class ClientAdmin(AdminAdvancedFiltersMixin, admin.ModelAdmin):
list_filter = ('first_name', 'last_name', 'language', 'is_active')
advanced_filter_fields = ('language', 'first_name',
('assigned_to__email', 'Sales Rep.'))
admin.site.register(SalesRep)
error stack trace:
C:\Python27\lib\site-packages\advanced_filters\forms.py:266: RemovedInDjango19Warning: django.db.models.get_model is deprecated.
self._model = get_model(*instance.model.split('.'))
C:\Python27\lib\site-packages\django\db\models\__init__.py:55: RemovedInDjango19Warning: The utilities in django.db.models.loading are deprecated in favor of the new application loading system.
from . import loading
(None, <myapp.admin.ClientAdmin object at 0x00000000037AC710>, ('language', 'first_name', ('assigned_to__email', 'SalesRep.')))
Internal Server Error: /admin/advanced_filters/advancedfilter/1/
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 164, in get_response
response = response.render()
File "C:\Python27\lib\site-packages\django\template\response.py", line 158, in render
self.content = self.rendered_content
File "C:\Python27\lib\site-packages\django\template\response.py", line 133, in rendered_content
template = self._resolve_template(self.template_name)
File "C:\Python27\lib\site-packages\django\template\response.py", line 88, in _resolve_template
new_template = self.resolve_template(template)
File "C:\Python27\lib\site-packages\django\template\response.py", line 78, in resolve_template
return loader.select_template(template, using=self.using)
File "C:\Python27\lib\site-packages\django\template\loader.py", line 64, in select_template
return engine.get_template(template_name, dirs)
File "C:\Python27\lib\site-packages\django\template\backends\django.py", line 30, in get_template
return Template(self.engine.get_template(template_name, dirs))
File "C:\Python27\lib\site-packages\django\template\engine.py", line 167, in get_template
template, origin = self.find_template(template_name, dirs)
File "C:\Python27\lib\site-packages\django\template\engine.py", line 141, in find_template
source, display_name = loader(name, dirs)
File "C:\Python27\lib\site-packages\django\template\loaders\base.py", line 13, in __call__
return self.load_template(template_name, template_dirs)
File "C:\Python27\lib\site-packages\django\template\loaders\base.py", line 23, in load_template
template = Template(source, origin, template_name, self.engine)
File "C:\Python27\lib\site-packages\django\template\base.py", line 190, in __init__
self.nodelist = engine.compile_string(template_string, origin)
File "C:\Python27\lib\site-packages\django\template\engine.py", line 261, in compile_string
return parser.parse()
File "C:\Python27\lib\site-packages\django\template\base.py", line 341, in parse
compiled_result = compile_func(self, token)
File "C:\Python27\lib\site-packages\django\template\loader_tags.py", line 210, in do_extends
nodelist = parser.parse()
File "C:\Python27\lib\site-packages\django\template\base.py", line 341, in parse
compiled_result = compile_func(self, token)
File "C:\Python27\lib\site-packages\django\template\defaulttags.py", line 1159, in load
(taglib, e))
TemplateSyntaxError: 'grp_tags' is not a valid tag library: Template library grp_tags not found, tried django.templatetags.grp_tags,django.contrib.admin.templatetags.grp_tags,django.contrib.staticfiles.templatetags.grp_tags
How to fix this?
django-advanced-filters
author here. The issue you're describing was fixed in upcoming release 1.0.2 (due to be released this weekend). The reason for this issue is that we used to depend ondjango-grappelli
but have moved to a more generic approach.If you absolutely cannot wait for the release, you may install the latest development branch directly from the github repo like so: