ORM模型

o objects:类和对象

R Relation:关系,关系数据库中的表格
M Mapping:映射

orm框架的功能
1.建立模型类和表之间的对应关系,允许我们通过面向对象的方式来操作数据库。
2.根据设计的模型类生成数据库中的表格
3.通过方便的配置就可以进行数据库的切换

一、描述器实现ORM模型中的字段类型

# 定义字符串类型
class CharField(object):
    def __init__(self,max_length=20):
        self.max_length=max_length

    def __get__(self,instance,value):
        return  self.value

    def __set__(self, instance, value):
        if isinstance(value,str):
            if len(value)<=self.max_length:
                self.value=value
            else:
                raise ValueError("字符串长度应该在{}以内".format(self.max_length))
        else:
            raise  TypeError("need a str")

    def __delete__(self, instance):
        self.value=None



class UserModel:
    #定义一个用户模型类
    name=CharField(max_length=20)  #只能赋值为字符串
    pwd=CharField(max_length=40)


m=UserModel()
m.name="test"
m.pwd="1222333333333333333333333311113"
print(m.name)   #test
print(m.pwd)   #1222333333333333333333333311113

 

 

 

二、

posted on 2020-09-07 10:08  crystal1126  阅读(112)  评论(0编辑  收藏  举报

导航