Фильтровать модель с помощью foreignKey
У меня есть эти 2 модели:
class Canva(models.Model):
name = models.CharField(null=True, blank=True, max_length=255)
site = models.CharField(null=True, blank=True, max_length=255)s
created = models.DateTimeField(null=True, blank=True, default=timezone.now)
class Bilan(models.Model):
agregat = models.CharField(null=True, blank=True, max_length=255)
SCF = models.CharField(null=True, blank=True, max_length=255)
canva = models.ForeignKey('Canva', null=True, blank=True, on_delete=models.CASCADE, related_name='bilan_canva')
Как я могу отфильтровать класс Bilan по атрибуту "created" в классе Canva?
Вы можете фильтровать с помощью canva__created
. Например, если вы хотите получить все элементы, созданные сегодня, вы можете работать с:
Bilan.objects.filter(canva__created__gte='2021-9-5')
здесь __gte
поиск [Django-doc] таким образом извлекает Bilan
объекты, где canva
имеет created
метку времени больше или равную 2021-9-5 00:00:00
.
Это должно быть что-то вроде этого:
Bilan.objects.filter(canva__created__gte/gt/lte/lt=date/datetime)
Здесь,
gte = больше или равно
gt = greater
lte = меньше или равно
lt = меньше
Bilan.objects.filter(canva__created__range=(start_date, end_date))