【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞?
进修Django的时刻,老是认为这部分内容和实际的应用有必定的差别或者距离。一方面Django自带的ORM对于底层数据库来说是一种适配性很强的组件,可以不强依附于某一种数据库,sqlite,MySQL,Oracle,PG等等都可以,进修起来须要必定的周期。别的一方面是因为这种方法是通用的API,一会儿没有了SQL语句,要懂得并接收这种思惟,须要一点时光,对很多DBA来说须要适应。第三点就是没有融合贯通,似乎看明白了,然则实际写的时刻发明照样摸黑,不知道大年夜何入手。
所以我就换个思路,大年夜数据库的角度来反向解析Django怎么实现我们常见的数据需求。先做减法,侧重于说萌芽的部分。常见的数据需求,这个需求有些大年夜,怎么让他更通用呢,我想到了Oracle琅绫擎的emp,dept,自打进修数据库,很多的测试案例就和这两个表分不开,所以我们就大年夜这个为切入点来慢慢分析。
有的同窗可能开端就打了退堂鼓,Oracle的还要转换语句,还稀有据类型,而应用的数据库是MySQL,是不是有些麻烦啊,其拭魅这些都不是事儿,不花一点工夫肯定难有收成。
我们设备下emp,dept的构造,是在Django的models.py的文件中设备即可。
- from django.db import models
- import django.utils.timezone as timezone
- class dept(models.Model):
- deptno = models.AutoField(primary_key=True)
- dname = models.CharField(max_length=30)
- loc = models.CharField(max_length=30, default=' ')
- class Meta:
- db_table = 'dept'
- verbose_name = 'DEPT'
- verbose_name_plural = 'DEPT'
- ordering = ['deptno']
- def __unicode__(self):
- return '%s %s' % (self.deptno, self.dname)
- class dept(models.Model):
- deptno = models.AutoField(primary_key=True)
- dname = models.CharField(max_length=30)
- loc = models.CharField(max_length=30, default=' ')
- class Meta:
- db_table = 'dept'
推荐阅读
【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞? 【51CTO.com原创稿件】2017年7月,在北京举办的AWS技巧峰会2017上,EasyStack正式宣布混淆云ESCloud Hybir>>>详细阅读
本文标题:使用Oracle中的emp、dept来学习Django ORM
地址:http://www.17bianji.com/lsqh/39944.html
1/2 1