一、ISO 8601和UTC
1、ISO组织定义的日期和时间的表示方法
2、提供一个标准的字符串表示日期和时间的方法
3、不同的国家和地区,都会使用这种方式不会有歧义
不同的时间写法:2014/03/02 和 03/02/2014
不同的时区 2014/03/02 09:00:00 中国,美国
扩展格式:2017-04-21T08:00:00Z T表示time,Z表示UTC时间,时区不需调整
二、UTC(Coordinate universal Time)
中国的北京时间 2017年4月21日,上午 8点整
ISO 8601 可以表示为2017-04-21T00:00:00Z
也可以表示为 2017-04-21T08:00:00+08:00
三、后端实现
1、外键的概念
如果一个表中
# 数据库表中,Lesson 对应的Course 只有其id, # 我们需要获取名字(根据接口文档) qs = Lesson.objects.all().select_related('course') \ .annotate(course_name=F('course__name')) qs = qs.values('id','course_id','course_name','starttime','endtime', 'desc').order_by('-id')
course是外键,加两个_就可以查到这个字段course__name
model间的关联关系
一对多
人(出生城市 属性) 和城市
一对一
人(身份证号属性) 和身份证
多对多
人(游玩过的城市 属性) 和城市
敲命令行方式,涉及到django环境,用django增强型的shell
python manage.py shell
多对多是单独的产生一张表
退出用quit()
class City(models.Model): name = models.CharField(max_length=50) toursites = models.CharField(max_length=80) class Meta: db_table ="zzz_city" class IdCard(models.Model): peoplename = models.CharField(max_length=50) idnumber = models.CharField(max_length=80) class Meta: db_table = "zzz_iccard" class People(models.Model): name = models.CharField(max_length=80) borncity = models.ForeignKey(City,related_name='born_people') idcard = models.OneToOneField(IdCard,related_name='to_people') #ManyToManyField 会产生一张新表 visitedcity = models.ManyToManyField(City,db_table='zzz_peoplevisitcity',related_name='visited_people') class Meta: db_table = "zzz_people"反向关联
一对多的关系