我在数据库中有一个列,我们将其称为 dummy_column。它有正值和负值。我想计算所有正数的总和以及所有负数的总和以及总和(正+负),即我想要输出 3 个单独的值。
可以使用 Sum('dummy_column') 计算两者的总和
尝试使用 Case 和 When,但无法理解在“then”子句中放入什么内容。
看到这个相关的答案,但我想避免“额外”。- ' Django 查询集 SUM 正值和负值'
代码写得不多,所以就没有写了。任何帮助,将不胜感激。
class BagSerializer(serializers.ModelSerializer):
order_date = serializers.SerializerMethodField()
class Meta:
model = Bag
fields = ('order_date')
def get_order_date(self, obj):
print('Order date called', obj)
Run Code Online (Sandbox Code Playgroud)
这是视图:
class BagViewSet(viewsets.ModelViewSet):
queryset = Bag.objects.all()
serializer_class = BagSerializer
def create(self, request):
try:
print('Inside create viewset')
serializer = self.get_serializer(data=request.data)
if serializer.is_valid():
print('serializer passed', serializer.validated_data)
else:
print('Serializer failed', serializer.errors)
return Response(serializer.errors)
except Exception as e:
print('exception raised--------', e)
return Response('Boom')
Run Code Online (Sandbox Code Playgroud)
序列化器方法字段未被调用,其数据也未显示在validated_data 中,并且序列化器的is_valid() 方法返回True。为什么不考虑序列化方法字段
我有一个包含 json 字段的类
class A(models.Model)
brand = JSONField()
Run Code Online (Sandbox Code Playgroud)
如果我发布像 [{'brand_id:1', 'name':'b1'}, {'brand_id:2', 'name':'b2'}] 这样的 JSON 数组,它会存储为 JSON 数组。这很好用。
我应该如何查询以检查该数组中任何字典的brand_id中是否存在“1”?