mirror of
https://github.com/jazzband/django-admin2.git
synced 2026-03-16 22:20:24 +00:00
fix for type in filters.py
This commit is contained in:
parent
6144278a9e
commit
e74c603bda
2 changed files with 15 additions and 5 deletions
|
|
@ -9,13 +9,15 @@ from itertools import chain
|
|||
from django import forms
|
||||
from django.forms.util import flatatt
|
||||
from django.utils.html import format_html
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.encoding import force_text, force_bytes
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.forms import widgets as django_widgets
|
||||
from django.utils.translation import ugettext_lazy
|
||||
|
||||
import django_filters
|
||||
|
||||
from .utils import type_str
|
||||
|
||||
LINK_TEMPLATE = '<a href=?{0}={1} {2}>{3}</a>'
|
||||
|
||||
|
||||
|
|
@ -88,15 +90,16 @@ def build_list_filter(request, model_admin, queryset):
|
|||
filterset_dict[field_filter.name] = field_filter
|
||||
fields = filterset_dict.keys()
|
||||
filterset_dict['Meta'] = type(
|
||||
b'Meta',
|
||||
type_str('Meta'),
|
||||
(),
|
||||
{
|
||||
'model': queryset.model,
|
||||
'fields': fields,
|
||||
},
|
||||
)
|
||||
|
||||
return type(
|
||||
b'%sFilterSet' % queryset.model.__name__,
|
||||
type_str('%sFilterSet' % queryset.model.__name__),
|
||||
(django_filters.FilterSet, ),
|
||||
filterset_dict,
|
||||
)(request.GET, queryset=queryset)
|
||||
|
|
@ -119,7 +122,7 @@ def build_date_filter(request, model_admin, queryset):
|
|||
}
|
||||
|
||||
return type(
|
||||
b'%sDateFilterSet' % queryset.model.__name__,
|
||||
type_str('%sDateFilterSet' % queryset.model.__name__),
|
||||
(django_filters.FilterSet,),
|
||||
filterset_dict,
|
||||
)(request.GET, queryset=queryset)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ from django.db.models import ManyToManyRel
|
|||
from django.db.models.deletion import Collector
|
||||
from django.db.models.related import RelatedObject
|
||||
from django.utils import six
|
||||
|
||||
from django.utils.encoding import force_bytes, force_text
|
||||
|
||||
def lookup_needs_distinct(opts, lookup_path):
|
||||
"""
|
||||
|
|
@ -184,3 +184,10 @@ def quote(s):
|
|||
if c in """:/_#?;@&=+$,"<>%\\""":
|
||||
res[i] = '_%02X' % ord(c)
|
||||
return ''.join(res)
|
||||
|
||||
|
||||
def type_str(text):
|
||||
if six.PY2:
|
||||
return force_bytes(text)
|
||||
else:
|
||||
return force_text(text)
|
||||
Loading…
Reference in a new issue