Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Amoor123
myflask
提交
a40b289d
M
myflask
项目概览
Amoor123
/
myflask
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
myflask
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a40b289d
编写于
10月 21, 2021
作者:
Amoor123
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
'20211021模型关系测试'
上级
c3130ee5
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
183 addition
and
10 deletion
+183
-10
mainapp/__init__.py
mainapp/__init__.py
+4
-1
mainapp/__pycache__/__init__.cpython-37.pyc
mainapp/__pycache__/__init__.cpython-37.pyc
+0
-0
manage.py
manage.py
+1
-5
models/__pycache__/user_model.cpython-37.pyc
models/__pycache__/user_model.cpython-37.pyc
+0
-0
models/user_model.py
models/user_model.py
+34
-4
test/__init__.py
test/__init__.py
+0
-0
test/modeltest.py
test/modeltest.py
+144
-0
未找到文件。
mainapp/__init__.py
浏览文件 @
a40b289d
...
...
@@ -2,8 +2,11 @@ from flask import Flask
from
flask_session
import
Session
import
settings
from
models
import
db
app
=
Flask
(
__name__
)
app
.
config
.
from_object
(
settings
.
Dev
)
se
=
Session
()
se
.
init_app
(
app
)
\ No newline at end of file
se
.
init_app
(
app
)
db
.
init_app
(
app
)
mainapp/__pycache__/__init__.cpython-37.pyc
浏览文件 @
a40b289d
无法预览此类型文件
manage.py
浏览文件 @
a40b289d
from
mainapp
import
app
from
mainapp.views
import
user_view
# from flask_script import Manager
from
models
import
db
from
flask
import
render_template
@
app
.
errorhandler
(
404
)
...
...
@@ -13,8 +11,6 @@ def notFound(error):
if
__name__
==
'__main__'
:
# 注册蓝图路由
app
.
register_blueprint
(
user_view
.
blue
,
url_prefix
=
'/user'
)
db
.
init_app
(
app
)
# manager=Manager(app)
# manager.run()
app
.
run
(
host
=
'localhost'
,
port
=
5000
,
debug
=
True
)
models/__pycache__/user_model.cpython-37.pyc
浏览文件 @
a40b289d
无法预览此类型文件
models/user_model.py
浏览文件 @
a40b289d
from
models
import
db
# 用户-角色多对多表
user_role
=
db
.
Table
(
'user_role'
,
db
.
Column
(
'user_id'
,
db
.
Integer
,
db
.
ForeignKey
(
'user_model.id'
)),
db
.
Column
(
'role_id'
,
db
.
Integer
,
db
.
ForeignKey
(
'role.id'
)))
class
UserModel
(
db
.
Model
):
#主键
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
,
autoincrement
=
True
)
#普通字段
name
=
db
.
Column
(
db
.
String
(
30
),
nullable
=
False
,
comment
=
'姓名'
)
auth_key
=
db
.
Column
(
db
.
String
(
100
),
nullable
=
False
,
comment
=
'密码'
)
phone
=
db
.
Column
(
db
.
String
(
11
),
unique
=
True
,
comment
=
'电话'
)
#多对多索引关系
roles
=
db
.
relationship
(
'Role'
,
secondary
=
user_role
,
backref
=
'users'
)
# 角色模型
class
Role
(
db
.
Model
):
#主键
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
,
autoincrement
=
True
)
name
=
db
.
Column
(
db
.
String
(
30
),
nullable
=
False
)
auth_key
=
db
.
Column
(
db
.
String
(
100
),
nullable
=
False
)
phone
=
db
.
Column
(
db
.
String
(
11
),
unique
=
True
)
#普通字段
name
=
db
.
Column
(
db
.
String
(
30
),
nullable
=
False
,
comment
=
'角色名称'
)
#用户的卡包模型
class
CardModel
(
db
.
Model
):
#主键
id
=
db
.
Column
(
db
.
Integer
,
primary_key
=
True
,
autoincrement
=
True
)
#普通字段
publisher
=
db
.
Column
(
db
.
String
(
30
),
nullable
=
False
,
comment
=
'发行商'
)
number
=
db
.
Column
(
db
.
String
(
40
),
nullable
=
False
,
comment
=
'卡号'
)
money
=
db
.
Column
(
db
.
Float
,
nullable
=
False
,
comment
=
'余额'
,
default
=
0
)
#外键
user_id
=
db
.
Column
(
db
.
Integer
,
db
.
ForeignKey
(
'user_model.id'
),
nullable
=
True
,
comment
=
'用户的id'
)
#模型的反向引用
user
=
db
.
relationship
(
'UserModel'
,
backref
=
db
.
backref
(
'cards'
,
lazy
=
True
))
\ No newline at end of file
test/__init__.py
0 → 100644
浏览文件 @
a40b289d
test/modeltest.py
0 → 100644
浏览文件 @
a40b289d
from
unittest
import
TestCase
from
mainapp
import
app
from
models
import
db
from
models.user_model
import
UserModel
,
CardModel
,
Role
class
TestUser
(
TestCase
):
def
test_add
(
self
):
app
.
app_context
().
push
()
user
=
UserModel
()
user
.
name
=
'li'
user
.
auth_key
=
'dsadas'
user
.
phone
=
'31231233131'
db
.
session
.
add
(
user
)
print
(
user
.
name
)
db
.
session
.
commit
()
def
test_waijianguanxi
(
self
):
app
.
app_context
().
push
()
user
=
UserModel
.
query
.
get
(
1
)
print
(
user
.
name
)
print
(
user
.
cards
)
card
=
CardModel
()
card
.
number
=
'131230293023903902390923021'
card
.
money
=
0
card
.
publisher
=
'健身房'
db
.
session
.
add
(
card
)
user
.
cards
.
append
(
card
)
db
.
session
.
commit
()
def
test_addmany
(
self
):
app
.
app_context
().
push
()
li
=
[]
for
i
in
range
(
10
):
user
=
UserModel
()
user
.
phone
=
'123123213'
+
str
(
i
)
user
.
name
=
'dsd'
+
str
(
i
)
user
.
auth_key
=
'dsafafjiaj'
+
str
(
i
)
li
.
append
(
user
)
db
.
session
.
add_all
(
li
)
db
.
session
.
commit
()
def
test_query1
(
self
):
app
.
app_context
().
push
()
user
=
UserModel
.
query
.
get
(
1
)
print
(
user
.
name
)
# user2=UserModel.query.filter(user.name==UserModel.name.like('dsd%'))
user2
=
UserModel
.
query
.
filter
(
UserModel
.
name
.
like
(
'dsd%'
))
# print(user2[0].name)
for
i
in
user2
:
print
(
i
.
id
,
i
.
name
)
def
test_query2
(
self
):
app
.
app_context
().
push
()
user
=
db
.
session
.
query
(
UserModel
).
all
()
for
i
in
user
:
print
(
i
.
name
,
i
.
id
)
user
=
db
.
session
.
query
(
UserModel
.
name
,
UserModel
.
phone
).
order_by
(
UserModel
.
phone
).
limit
(
3
)
for
i
in
user
:
print
(
i
.
name
,
i
.
phone
)
def
test_update
(
self
):
app
.
app_context
().
push
()
user
=
UserModel
.
query
.
get
(
1
)
user
.
name
=
'AAA'
user
.
phone
=
'213231312'
user
.
auth_key
=
'asdsdjasidnio'
db
.
session
.
commit
()
def
testremove
(
self
):
app
.
app_context
().
push
()
user
=
UserModel
.
query
.
get
(
2
)
print
(
user
.
name
,
user
.
phone
)
db
.
session
.
delete
(
user
)
db
.
session
.
commit
()
#N:M
def
test_addmodel2
(
self
):
app
.
app_context
().
push
()
user
=
UserModel
.
query
.
get
(
1
)
role
=
Role
()
role
.
name
=
'超级管理员'
db
.
session
.
add
(
role
)
user
.
roles
.
append
(
role
)
db
.
session
.
commit
()
def
test_query
(
self
):
app
.
app_context
().
push
()
user
=
UserModel
.
query
.
get
(
1
)
print
(
user
.
roles
)
role
=
Role
.
query
.
all
()[
0
]
print
(
role
.
users
)
def
test_update2
(
self
):
app
.
app_context
().
push
()
user
=
UserModel
.
query
.
get
(
1
)
user
.
roles
[
0
].
name
=
'普通管理员'
db
.
session
.
commit
()
def
test_del2
(
self
):
app
.
app_context
().
push
()
role
=
Role
()
role
.
name
=
'实习工'
db
.
session
.
add
(
role
)
users
=
UserModel
.
query
.
filter
(
UserModel
.
name
.
like
(
'dsd%'
))
for
user
in
users
:
user
.
roles
.
append
(
role
)
db
.
session
.
commit
()
def
test_del3
(
self
):
app
.
app_context
().
push
()
roles
=
Role
.
query
.
filter
(
Role
.
name
==
'实习工'
).
all
()
for
role
in
roles
:
users
=
role
.
users
for
user
in
users
:
db
.
session
.
delete
(
user
)
db
.
session
.
commit
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录