首页 > 其他 > 详细

[Django笔记] models 深入学习

时间:2018-01-24 20:33:18      阅读:149      评论:0      收藏:0      [点我收藏+]

对着官方文档撸一遍,顺便做点笔记

models 定义了本应用的数据库表结构。底层可以由不同的数据库封装实现,因为不同的数据库字段类型不一样,因此,跟以往直接用单一数据库(如mysql)建立的应用有很大的区别。
models里面定义的数据类型基本上都是基础类型,在mysql用的比较多的 timestamp 貌似需要自己去做扩展:

class MyDateField(models.Field):
    def db_type(self, connection):
        if connection.settings_dict[‘ENGINE‘] == ‘django.db.backends.mysql‘:
            return ‘datetime‘
        else:
            return ‘timestamp‘

DatetimeField

auto_now_add = True; 设置添加时默认当前时间。这里并不是通过数据库来实现,而是django在添加的时候去计算时间。因此涉及到时区问题:
settings.py 设置 USE_TZ = True 后,django会使用UTC标准时间存入数据库。这个时候取出的 datetimefield 需要转换时区才能正确显示。
因此一般情况下,如果应用不用考虑跨时区问题,设置 USE_TZ = False 一劳永逸
查询出来的 datetimeField 是一个 <‘datetime‘ object>,根据自己需要进行格式化输出

[Django笔记] models 深入学习

原文:https://www.cnblogs.com/dapianzi/p/8250003.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!