django orm中 get 与filter的区别:
以前误以为get与filter的区别仅仅是filter返回多条,而get仅支持一条记录,直到使用related_name属性 才发现,两者的差异远不止如此,最本质的区别是
filter返回的值是一个queryset对象,
而get 返回值是一个定义的model对象,
使用get 返回的结果去访问子表对象可以成功,而使用filter就会出错,
是因为queryset 对象没有realtaed_name属性,无法回溯到子表
时间: 2024-10-20 09:54:24