获取最近3个月未交易的对象



我是Django的新手。我在django项目中有两个对象:TransactionItem。项可以有许多事务对象。事务具有日期时间项目字段。如何编写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)

提前谢谢。

假设您的模型是:

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上试试这个。打开外壳:python manage.py shell

最新更新