-
Notifications
You must be signed in to change notification settings - Fork 0
/
model.py
53 lines (41 loc) · 1.51 KB
/
model.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# coding: utf-8
from sqlalchemy import *
from sqlalchemy import CHAR, Column, String
from sqlalchemy.dialects.mysql import INTEGER
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import create_session
# 数据库的连接配置
from configs import DB_URI
Base = declarative_base()
# 数据库引擎
engin = create_engine(DB_URI)
metadata = Base.metadata
# 创建事务
session = create_session(bind=engin)
class AccessInfo(Base):
__tablename__ = 'access_info'
id = Column(INTEGER(11), primary_key=True)
name = Column(String(255), nullable=False)
sex = Column(CHAR(2), nullable=False)
phone = Column(String(255), nullable=False)
id_card = Column(String(255), nullable=False)
idcard_sha256 = Column(String(255), nullable=False)
address = Column(String(1000))
people_num = Column(String(1000))
plate_num = Column(String(255))
cause = Column(String(2000), nullable=False)
carry = Column(String(1000))
time_start = Column(String(255), nullable=False)
time_end = Column(String(255), nullable=False)
respondent_name = Column(String(255), nullable=False)
respondent_dept = Column(String(255), nullable=False)
# 插入数据
def insertOne(access_new):
session.begin()
session.add(access_new)
session.commit()
session.close()
# 根据加密后的 身份证信息 查询单个对象
def queryObject(idcard_sha256):
accessInfo = session.query(AccessInfo).filter(AccessInfo.idcard_sha256 == idcard_sha256).first()
return accessInfo