0

我在下面提到了类似的问题:

Django - FileField 检查是否没有

如何在 Django 中使用 None 保存 FileField?

然而我无法解决我的问题。

我的模型 FileField 看起来像:

document = models.FileField(upload_to=habCompletionDocPath, null=True)

我上传了一个文件并删除了。

q = ProgressQty.objects.get(id=id)
q.document = None
q.save()

现在该字段的值显示为 None:

In [80]: q.document
Out[80]: <FieldFile: None>

我需要计算表中上传的文件数。但是,由于以下原因,我无法这样做:

ProgressQty.objects.exclude(document=None)
<ProgressQty: 269891toubul>

正如我所期待的<QuerySet []>

如何从此代码中获得正确的结果:

objects.annotate(doc=Count('document'))
4

1 回答 1

0

好吧,我使用以下方法解决了我的问题:

doc=Count('document', filter=Q(document__gt=0))

尽管这可能不是最佳解决方案。

于 2019-11-15T18:45:24.447 回答