Django1.8更新整理

Django1.8更新整理

新功能

  1. 1.8可以支持jinja2模板,而且可以同时支持多个模板了
  2. 检查配置安装相关参数

    python manage.py check --deploy --settings=production_settings
    
  3. 新增数据库字段类型,UUIDField(重启后是否有重复), DurationField
  4. 添加了TestCase.setUpTestData函数, 在每个TestCase运行一次; 相比较setUp是每个用例运行一次,提高了运行速度
  5. makemigrations添加–exit参数,在遇到错误时直接退出
  6. 添加showmigrations命令查看修改及依赖

不兼容操作

  1. 多表修改时,使用trasaction操作
  2. 关联对象如果不是已经保存的对象,赋值时会报错

    >>> book.author = Author(name="john")
    Traceback (most recent call last):
    ...
    ValueError: Cannot assign "<Author: John>": "Author" instance isn't saved in the database.
    

    可以使用allow_unsaved_instance_assignment属性兼容以前版本

  3. 自定义command添加args参数(兼容性检查)
  4. 数据库查询操作需要检查对象类型

    >>> book = Book.objects.create(name="Django")
    >>> book = Book.objects.filter(author=book)
    Traceback (most recent call last):
    ...
    ValueError: Cannot query "<Book: Django>": Must be "Author" instance.
    
  5. select_related中的参数必须是有对应的字段名和在数据库中有关联数据的

    >>> book = Book.objects.select_related('nonexistent_field')
    Traceback (most recent call last):
    ...
    FieldError: Invalid field name(s) given in select_related: 'nonexistent_field'
    
    >>> book = Book.objects.select_related('name')
    Traceback (most recent call last):
    ...
    FieldError: Non-relational field given in select_related: 'name'
    
  6. AbstractUser.last_login可以允许null,在升级时需要makemigrations

ref: 1.8changes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值