【发布时间】:2016-02-19 00:12:09
【问题描述】:
我有一些名为 Stores 和 SaleItems 的模型,它们看起来有点像这样。
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()
所以我需要根据以下条件检索销售商品。
- 如果不是我的商店,则忽略 start_date 大于今天和 end_date 小于今天的项目。
- 如果是我的商店,则获取商品,无论 start_date 和 end_date 是什么。
所以在我的views.py中,这就是我的进步。
class SaleItemsView(viewsets.ModelViewSet):
querys = SaleItems.objects.all()
def get_queryset(self):
#get my store id
store_id = self.request.query_params.get('store_id')
querys = SaleItems.objects\
.exclude(store__ne=store_id, end_date__lt=timezone.now())\
.exclude(store__ne=store_id, start_date__gt=timezone.now())
return querys
但似乎 django 不再有不等于运算符了。还有其他方法可以实现吗?
【问题讨论】:
-
1) 您遇到的错误是什么? 2)这可能与错字“.exculde”有关吗?
-
@RemcoGerlich 这只是一个错字。这是我使用 __ne 'TypeError: Related Field got invalid lookup: ne' 时遇到的错误
-
this 是同一个问题,不是吗?
-
@DevilPinky 不是。请阅读问题描述。
标签: python django django-rest-framework