gpt4 book ai didi

python - Django ORM 查询空 FileFields

转载 作者:太空宇宙 更新时间:2023-11-03 16:11:09 26 4
gpt4 key购买 nike

我不清楚这是否可以通过 ORM 实现 - 看起来不可能,但也许我错过了一些东西?

   class ApplicationInstitution(models.Model):
...
transcript_file = FileField(upload_to=...)

其中一些 ApplicationInstitution 对象可能已经上传了 transcript_file,而其他对象则尚未上传。我想查询具有空 FileField 的实例。起初我以为我可以这样

ApplicationInstitution.objects.filter(transcript_file__isnull=False)

或类似的,但这会产生意想不到的结果(所有记录或零,取决于您是否使用过滤器排除)。如果您尝试访问实际的文件对象,您会得到一个 Raise,而不是一个空:

>>> a.institutions.last().transcript_file.file
Traceback (most recent call last):
...
ValueError: The 'transcript_file' attribute has no file associated with it.

我已经使用 try/except 编写了一个模型方法,它可以让我找到答案,但 ORM 会更干净。是否可以查询空或非空文件字段?

最佳答案

您可以查询空字符串:

# instances with empty FileField
ApplicationInstitution.objects.filter(transcript_file='')
# and with a file already uploaded
ApplicationInstitution.objects.exclude(transcript_file='')

关于python - Django ORM 查询空 FileFields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39302175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com