aat*_*ifh 10 python django django-models
我有一个类似的模型
Class Student(models.Model):
"""A simple class which holds the basic info
of a student."""
name = models.CharField(max_length=50)
age = models.PositiveIntegerField()
photo = models.ImageField(upload_to='foobar', blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
我们可以看到照片字段是可选的.我希望所有将他们的图像保存在大学数据库中的学生.为此,我做到了这一点
>>> Student.objects.exclude(photo__name=None)
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
FieldError: Join on field 'photo' not permitted.
Run Code Online (Sandbox Code Playgroud)
那么,我怎样才能提取所有那些有照片的学生呢?
对此有任何帮助将不胜感激.提前致谢.
muh*_*huk 13
它不起作用,因为字段查找仅适用于其他模型.这里name是您photo字段返回值的属性.
试试这个:
Student.objects.exclude(photo__isnull=True)
Run Code Online (Sandbox Code Playgroud)
优选使用isnull而不是比较等式None.
杰夫奥伯的建议:
Student.objects.exclude(photo='')
Run Code Online (Sandbox Code Playgroud)
他说过滤是对存储在DB中的实际值进行的.在文件字段的情况下,文件的路径.
| 归档时间: |
|
| 查看次数: |
3164 次 |
| 最近记录: |