Фильтр по дате в django

Я пытаюсь отфильтровать таблицу инструкций по доставке по дате. Специально только в Delivery Instructions, данные таблицы будут удалены через 7 дней после создания. Поэтому в ее модели я использовал DateTimeField в качестве формата даты-времени. Но в других моделях (например, Part) я использовал DateField, и в views.py я написал ту же функцию, что и ниже, и она работает. Но проблема с доставкой инструкций фильтруется по дате не работает.

filters.py

class DIFilter(django_filters.FilterSet):
    created_date = django_filters.CharFilter( widget=forms.TextInput(attrs={
            'placeholder': 'YYYY-MM-DD'}))
    class Meta:
        model = DeliveryIns
        fields = ['product','supplier', 'created_date']

views.py

def get_queryset(self):
        queryset = self.model.objects.all().order_by('-id')
        if self.request.GET.get('supplier'):
            queryset = queryset.filter(supplier_id=self.request.GET.get('supplier'))
        elif self.request.GET.get('product'):
            queryset = queryset.filter(product_id=self.request.GET.get('product'))
            
        elif self.request.GET.get('created_date'):
            queryset = queryset.filter(created_date=self.request.GET['created_date'])

        return queryset

models.py

class EventManager(models.Manager):

    def get_queryset(self):
        return super().get_queryset().filter(
            created_date__gte=timezone.now()-timezone.timedelta(days=7)
        )

class DeliveryIns(models.Model):
    supplier = models.ForeignKey(Supplier, on_delete=models.CASCADE)
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    created_date = models.DateTimeField(default=timezone.now)
    objects = EventManager()

class Part(models.Model): 
    supplier = models.ForeignKey(Supplier, on_delete=models.CASCADE)
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    created_date = models.DateField(auto_now_add=True)

Может ли кто-нибудь помочь мне разобраться, в чем дело? Спасибо заранее

Вам не нужно указывать поле, поведение которого вы изменяете в Meta.fields. Вместо этого вы можете сделать следующее:

from django_filters import DateFilter

created_data = DateFilter(field_name, lookup_expr="exact")
Вернуться на верх