рдореИрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:
release_year__gt = django_filters.NumberFilter(name='release_date', lookup_expr='year__gt')
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:
TypeError: __init__() got an unexpected keyword argument 'name'
рдЬрдм рдореИрдВ рдХреЛрдб рджреЗрдЦрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ 'рдирд╛рдо' 'field_name' рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдбреЙрдХреНрдЯрд░ рдкреБрд░рд╛рдирд╛ рд╣реИ, рд╣реИ рдирд╛ ??
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:
class MyFilter(django_filters.FilterSet):
class Meta:
model = FileEvent
fields = ['file_name', ]
рдКрдкрд░ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:
class MyFilter(django_filters.FilterSet):
class Meta:
model = FileEvent
fields = {'file_name' : ['icontains'] }
рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рд╣реИред рдХреНрдпреВрдИ рдПрд╕рдХреНрдпреВрдПрд▓ рдХрд╛ рдХреЛрдИ рдмрдпрд╛рди рдирд╣реАрдВ рд╣реИ like %somevalue%
, рдХреНрдпреЛрдВ?
рдзрдиреНрдпрд╡рд╛рдж,
рдХреНрд░рд┐рд╕
рдирдорд╕реНрддреЗ @zhangqunshi , рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк 2.0.0.dev1 рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ, name
рдмрди рдЧрдпрд╛ рд╣реИ field_name
ред рдЗрд╕реЗ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЬреЛ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░реА-рд░рд┐рд▓реАрдЬрд╝ рдХреНрдпреЛрдВ рд╣реИ)ред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЙрдбрд▓ рдХреЛ рджреЗрдЦреЗ рдмрд┐рдирд╛ FileEvent
рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдЬрдм рдЖрдк рдирд┐рдореНрди рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?
FileEvent.objects.filter(file_name__icontains='foo')
FileEvent рд╕рд░рд▓ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ report_id, file_name рдФрд░ event_time рд╣реИред рдЬрдм рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:
FileEvent.objects.filter(file_name__icontains='foo')
рдпрд╣ рдПрд╕рдХреНрдпреВрдПрд▓ рдмрди рдЬрд╛рдПрдЧрд╛:
select * from file_event where file_name like '%foo%'
рдХреЛрдб рдХреЗ рд▓рд┐рдП:
class MyFilter(django_filters.FilterSet):
class Meta:
model = FileEvent
fields = ['file_name', ]
рдпрд╣ рдПрд╕рдХреНрдпреВрдПрд▓ рдмрди рдЬрд╛рдПрдЧрд╛:
select * from file_event where file_name ='foo'
рдХреЛрдб рдХреЗ рд▓рд┐рдП:
class MyFilter(django_filters.FilterSet):
class Meta:
model = FileEvent
fields = {'file_name' : ['icontains'] }
рдпрд╣ рдПрд╕рдХреНрдпреВрдПрд▓ рдмрди рдЬрд╛рдПрдЧрд╛:
select * from file_event
рдХреНрд╡реЗрд░реАрд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб BTW рд╣реИ:
filter = MyFilter(request.GET,
queryset=FileEvent.objects.values().filter(report_id=1).order_by(
'-event_time'))
print(filter.qs)
рдФрд░ рдореБрдЭреЗ рдбреЙрдХреНрдЯрд░ рд╕реЗ рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╢реНрдп рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЛрдб рджреЗрдЦрддрд╛ рд╣реВрдВ, рдФрд░ рдмреЗрд╕рдлрд┐рд▓реНрдЯрд░рд╕реЗрдЯ рдореЗрдВ 'qs' рдлрд╝реАрд▓реНрдб рдвреВрдВрдврддрд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЕрдм рдореИрдВ рдХреЛрдб рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ:
class MyFilter(django_filters.FilterSet):
file_name = django_filters.CharFilter(lookup_expr='icontains')
class Meta:
model = FileEvent
fields = ['file_name',]
рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрд╕рдХреНрдпреВрдПрд▓ like '%foo%'
@zhangqunshi , рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЖрдк рдЧрд▓рдд
/file-events?file_name__icontains=foo
рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдореИрдВ рдпреВрдЖрд░рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ: /file-events?file_name=foo
рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИ file_name рдлрд╝реАрд▓реНрдб рдХреЛ icontains рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рд╛рдВред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдЙрд▓реНрдЯрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрди рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХрдИ рдлрд┐рд▓реНрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рдмреНрджрдХреЛрд╢ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
class MyFilter(django_filters.FilterSet):
class Meta:
model = FileEvent
fields = {'file_name': ['icontains', 'istartswith', 'iendswith',]}
рдпрд╣ рдЖрдкрдХреЛ /file-events?file_name__istarswith=foo&file_name__iendswith=log
рдЬреИрд╕реА рдХреНрд╡реЗрд░реА рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ
рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдорд┐рд▓ рдЧрдпрд╛, рдФрд░ рдХреЛрдб ['icontains', 'istartswith', 'iendswith',]
рд╕рд┐рд░реНрдл рдПрдХ рд╕рдорд░реНрдерд┐рдд рдХреНрд╡реЗрд░реА рдкреНрд░рдХрд╛рд░ рд╕реВрдЪреА рд╣реИред рдпрджрд┐ рдХреНрд╡реЗрд░реА рд╕реВрдЪреА рдХреЗ рдХрд┐рд╕реА рднреА рдЖрдЗрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рддреЛ django-filter рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджреЗрдЧрд╛ред
рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж :-)
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдирдорд╕реНрддреЗ @zhangqunshi , рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк 2.0.0.dev1 рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ,
name
рдмрди рдЧрдпрд╛ рд╣реИfield_name
ред рдЗрд╕реЗ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХреНрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЬреЛ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░реА-рд░рд┐рд▓реАрдЬрд╝ рдХреНрдпреЛрдВ рд╣реИ)редрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЙрдбрд▓ рдХреЛ рджреЗрдЦреЗ рдмрд┐рдирд╛
FileEvent
рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдЬрдм рдЖрдк рдирд┐рдореНрди рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?