获取过去3个月未交易的对象

2024-04-26 05:11:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚到Django。django项目中有两个对象:事务。项可以有许多事务对象。事务具有日期时间项目字段。如何编写django查询来获取在过去20天内没有任何事务的项目?你知道吗

class Item(models.Model):
    name = models.CharField(max_length=80)


class Transaction(models.Model):
    date_time = models.DateTimeField(default=timezone.now)
    item = models.ForeignKey(Item)

提前谢谢。你知道吗


Tags: 项目对象djangonamemodelmodels时间item
1条回答
网友
1楼 · 发布于 2024-04-26 05:11:36

假设您的模型是:

class Item(models.Model):
    name = models.CharField(max_length=100)


class Transaction(models.Model):
    item = models.ForeignKey(Item, on_delete=models.CASCADE)
    created_at = models.DateTimeField()

您可以执行如下查询:

from datetime import datetime, timedelta

Item.objects.distinct().exclude(transaction__created_at__gte=datetime.now() - timedelta(days=20))

此查询将查找在过去20天内有事务的项目,然后显示其余的项目(在过去20天内没有任何事务)。你知道吗

试试这个Django Shell。打开shell:python manage.py shell

相关问题 更多 >

    热门问题