调试django

环境: django-1.8.2   pycharm-community-4.5.1-1

前言

终于打算用所学的python写点东西了,索性就拿django来做一点事。依样画瓢,但是还是很多不解,就摸索着调试,渐进学习

起因

我是看到被解放的姜戈02 庄园疑云中这段代码出现疑惑的:

class Character(models.Model):
    staff_list = Character.objects.all()
    staff_str  = map(str, staff_list)

疑问

staff_list这是个什么对象,类型是什么

尝试

我是想先查objects的,Character类没有objects这个属性,那就是继承于父类了,但是我查看了半天,那一大堆继承关系,我愣是一下没找到….所以就另辟蹊径了

调试

借助pycharm工具,轻松调试得到结果

首先配置好调试环境

《调试django》

设置断点,开始调试

《调试django》

看到调试结果

《调试django》

这里得到list的类型:QuerySet。python中是没有这个类型的,应该是django自身封装的一个类型.点到扩展包,在django下搜索

《调试django》

这是我们就查到了QuerySet,看其源代码,是继承自object,实现了iterator 方法,所以能被后面的map函数调用

    原文作者:mugbya
    原文地址: https://segmentfault.com/a/1190000002795024
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞