最近在学习使用python做web开发,使用的是Django框架,以下几点总结一下。
之前用PHP框架做开发,Yii,ThinkPHP,CI都是MVC类型的。M为Model即模型层;V为View即数据展示;C为Controller即数据处理。此处Django属于MTV类型。M也是模型。T为template即展示模板,相当于前面的View。而此处V虽然也译为View但却相当于前面的Controller,是用于进行数据处理的。
使用下来,个人感觉Django开发调试没有PHP那么简单易用。
调试时需要打印出sql语句,可以这样用:
key_list = AccessKey.objects.all().order_by('id')
sql= str(key_list.query)
这样,sql即刚刚的sql语句。
关于多表联查,有几种方案:
- 方案一:编写原生的语句做查询(不够实用,较为麻烦,对于特别复杂的查询可以用此方法)
- 方案二:使用select_related方法,刚刚的语句可写成:
key_list = AccessKey.objects.select_related('user').all