Django-filter: IsoDateTimeFilter 'рд╕рдЯреАрдХ' рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рд╕рд┐рддре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: carltongibson/django-filter

рдореИрдВ рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ: http://django-filter.readthedocs.io/en/develop/ref/filters.html#isodatetimefilter

рдЬрдмрдХрд┐ рд╡рд╣ рд╡рд┐рдзрд┐ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ 'рд╕рдЯреАрдХ' рдорд┐рд▓рд╛рди рд╕реЗ рдЕрдзрд┐рдХ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛:
fields = ['published']
рд╕рд╛рде:
fields = {'published': ['exact', 'gte', 'lte']}
рдпрд╣ рдЕрднреА рднреА IsoDateTime рдХреЗ рд╕рд╛рде 'рд╕рдЯреАрдХ' рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 'gte' рдФрд░ 'lte' рдХреЗ рд▓рд┐рдП, IsoDateTime рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдбреЗрдЯрдЯрд╛рдЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рд╕рдордп рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рд▓реБрдХрдЕрдк рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ IsoDateTime рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

published = django_filters.IsoDateTimeFilter(
    name='published', lookup_expr='exact')
published_gte = django_filters.IsoDateTimeFilter(
    name='published', lookup_expr='gte')
published_lte = django_filters.IsoDateTimeFilter(
    name='published', lookup_expr='lte')

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореЙрдбрд▓ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рд╡рд░реНрдЧ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк Meta.filter_overrides рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

class BookFilter(django_filters.FilterSet):

    class Meta:
        model = Book
        fields = {'published': ['exact', 'lte', 'gte']}
        filter_overrides = {
            models.DateTimeField: {'filter_class': django_filters.IsoDateTimeFilter},
        }

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣рдореНрдоред рдореЗрд░реА рдкрд╣рд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ fields рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╢рдмреНрджрдХреЛрд╢ рдХреА рд╕реАрдорд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВред рдлрд╝реАрд▓реНрдб рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ - рдЖрдкрдХрд╛ "рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб" - рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд╣рд┐рдд рддрд░реАрдХрд╛ рд╣реИред рдбрд┐рдХреНрд╢рдирд░реА рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рд┐рд░реНрдл рдПрдХ рд╢реЙрд░реНрдЯрдХрдЯ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рд╕реАрдорд╛рдПрдБ рд╣реЛрдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдРрд╕рд╛ рдХрд╣рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЗрд╕реЗ "рдареАрдХ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреЗ рдкрджрдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде рдПрдХ рдмрджрд▓рд╛рд╡ рд▓реВрдВрдЧрд╛ ...

рдореЙрдбрд▓ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рд╡рд░реНрдЧ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк Meta.filter_overrides рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

class BookFilter(django_filters.FilterSet):

    class Meta:
        model = Book
        fields = {'published': ['exact', 'lte', 'gte']}
        filter_overrides = {
            models.DateTimeField: {'filter_class': django_filters.IsoDateTimeFilter},
        }

@carltongibson рдореИрдВ рд╕реАрдорд╛ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдХреЗ рдЦреБрд╢ рд╣реВрдВред рдореИрдВрдиреЗ рдПрдХ рддреНрд╡рд░рд┐рдд "рдлрд┐рдХреНрд╕" рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдХреЛрдб рдХреА рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рд╕рдордЭ рдЗрд╕ рд╕рдордп рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИ: /

@rpkilby рдзрдиреНрдпрд╡рд╛рдж, рдЖрдкрдХрд╛ рд╕реБрдЭрд╛рд╡ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдЖрдЧреЗ рдЬрд╛рдХрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ :)

@carltongibson рдХреНрдпрд╛ рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ? рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ рддреЛ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

xtrinch picture xtrinch  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

techdragon picture techdragon  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

blueyed picture blueyed  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GuillaumeCisco picture GuillaumeCisco  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lalzada picture lalzada  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ