Django升级1.8的一些问题
1、最明显的问题当然是Settings设置中关于模板的设置数据结构发生变化,这个就不细说了,你开个Django的1.8的新项目就知道怎么改了
2、migrations问题,这个问题是1.8最主要的修改,在代码从1.7升级到1.8之前要保证models定义和DB Schema的版本一致,然后代码升级到1.8以后,生成一次就Ok了。剩下的就以这个为基版本了。
3、models的变化,1.8以后时间字段的auto_now_add和auto_now不能再重复出现了,应该说这本身是一个改进,不过这个改进需要修改不少models定义
4、auth_user的字段定义发生变化,这个变化导致1.8的User.objects.create_user函数实现发生变化,而这个新的函数是与之前auth_user表定义不兼容的,目前发现的修改就是last_login的非空约束被取消,用户第一次建立时,这个字段为空,解决办法:到数据库里把以前的那个非空约束取消掉,这个改动是符合业务逻辑,但是对于兼容性基本算是不小的坑。
5、JsonResponse,这个改动可以把之前的JSON响应方法都改掉,当然这个改动不是非改不可,没事干了,改一下,对代码来讲不错。其中注意,只要传入的不是字典,什么列表、集合、其它基本类型之类的,都要再加一个safe=False的传参。
目前发现就这些,做了这种版本升级以后,要多看看后台日志。及时解决发生的问题。一直想写一个从1.5开始所有新版本的新特性总结,可惜人太懒,下班以后懒得写长文---译长文是个比较耗时间的事情。