【发布时间】:2016-10-06 18:34:03
【问题描述】:
简单的场景,但不知道如何查询:
我们有一个Store 模型和Transaction 模型。 Foreign Key 在Transaction 模型上与Store 相关。
我想查询以下列表:仅 当天完成至少一次 交易的商店。应排除所有其他商店。
Store.objects.filter(transaction__gt=0, transaction__date_created__gt='2016-06-01')
当我尝试前一个查询时,我得到了一个很长的列表:
[<Store: TrialStore>, <Store: TrialStore>, <Store: TrialStore>, ... ]
这几乎就像它为每笔交易列出一个商店的实例。我只想要一份每家商店当天至少完成一笔交易的列表。
目前,数据库中只有一个商店,所以我应该只返回一个结果。
编辑
Store模特:
class Store(models.Model):
status = models.IntegerField(choices=status_choices, default=ACTIVE_STATUS)
legal_name = models.TextField(verbose_name='Legal Name')
mobile_number = PhoneNumberField(blank=True)
email_address = models.EmailField(blank=True)
Transaction模特:
class Transaction(models.Model):
store = models.ForeignKey(Store)
date_created = models.DateTimeField(auto_now_add=True, verbose_name='Created')
status = models.IntegerField(choices=status_choices)
【问题讨论】:
-
你能展示你的模型吗?
标签: django orm foreign-keys django-queryset