关于模型中的GenericRelation
问题出现在:获取景点图片的数量
课程视频中代码是:(方式一)
@property
def image_count(self):
return self.images.filter(is_valid=True).count()
我通过这种方式,获取到的始终是图片数量始终是0
我用这种方法才能获取到正确的数量:(方式二)
@property
def image_count(self):
return ImageRelated.objects.filter(object_id=self.pk, is_valid=True).count()
为什么方式一不行?定义模型中的 images字段代码如下,与老师一致
images = GenericRelation(ImageRelated, verbose_name='关联的图片', related_name='rel_sight_images')
14
收起
正在回答
2回答
同学,你好!老师这边猜测是数据问题,分析思路如下:
1、代码仍然按方式一的写法,Sight.objects.first(),老师这边获取到的景点id是105,同学获取的是1,可以调用一下景点图片接口,查看接口是否能获取到图片,如:http://127.0.0.1:8000/sight/image/list/105/
2、检查system_image_related表中对应的景点id是否有图片,只有这里有图片,sight_obj.images才可以获取到
祝:学习愉快!
Python全栈工程师2020
- 参与学习 人
- 提交作业 5211 份
- 解答问题 2433 个
Facebook曾声称“只招全栈工程师”!全栈用人需求猛增,市面人才紧缺。 0基础进击Python全栈开发,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星