创建对 django 模型的请求

时间:2021-05-06 15:09:20

标签: python django

我有一个模型

class paidparking(models.Model):
    adress = models.ForeignKey(Parking, on_delete=models.SET_NULL, null=True, verbose_name='Адрес парковки')
    carnumber = models.CharField(max_length=150,verbose_name='Номер автомобиля')
    amountoftime = models.IntegerField(verbose_name='Количество времени')
    price = models.FloatField(verbose_name='Цена')
    telephone = models.CharField(max_length=20,verbose_name='Номер телефона')
    email = models.EmailField(verbose_name='Электронный адрес',null=True,blank=True )
    datetimepaidparking = models.DateTimeField(auto_now_add=True, verbose_name='Дата и время оплаты')
    expirationdate = models.DateField(null=True,verbose_name='Дата начала срока действия')
    expirationtime = models.TimeField(null=True,verbose_name='Время начала срока действия')
    enddateandtime = models.DateTimeField(null=True,blank=True,verbose_name='Окончание срока действия')

表单有 2 个带日期选择的字段

enter image description here

在函数中,我从这些字段中获取值

 startdate = datetime.strptime(request.POST['startdate'], '%d.%m.%Y')
 enddate = datetime.strptime(request.POST['enddate'], '%d.%m.%Y')

在模型中,expirationdate 字段。此字段中的日期格式为 %d.%m.%Y

我需要对django模型形成一个请求。如果 expirationdate 字段中的日期介于 startdate and enddate 之间,则必须检索所有记录

1 个答案:

答案 0 :(得分:1)

使用 __range 运算符:

paidparking.objects.filter( expirationdate__range=(startdate, enddate))