我有一些名为Stores和SaleItems的模型看起来像这样。
'components' => [
'user' => [
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,
'enableSession' => true,
'loginUrl' => ['study/login'],
],
所以我需要根据以下条件检索销售商品。
所以在我的views.py中,这是我走了多远。
class Stores(models.Model):
name = models.CharField(unique=True, max_length=20)
class SaleItems(models.Model):
sale_by = models.ForeignKey(Stores)
start_date = models.DateTimeField()
end_date = models.DateTimeField()
但似乎django不再具有相同的运算符。还有其他方法可以达到这个目的吗?
答案 0 :(得分:0)
我认为您会使用Q
个对象合并每个条件的记录,然后执行distinct()
删除重复项:
now = timezone.now()
items_within_date_range = Q(start_date__lte=today, end_date__gte=today)
curr_store_items = Q(store=store_id)
result = SaleItems.objects.filter(items_within_date_range|curr_store_items).distinct()
第一个查询将获得商店和其他商店的时间范围内的所有商品,第二个查询将获得商店的所有商品,然后合并然后将获得所有商品。