From 75f8d8616c01693ee31e6a6063eb52d5c4bdaf38 Mon Sep 17 00:00:00 2001
From: xlf <3055204202@qq.com>
Date: Thu, 21 Sep 2023 10:24:05 +0800
Subject: [PATCH 1/5] =?UTF-8?q?chore:=E6=9B=B4=E6=96=B0=E4=BE=9D=E8=B5=96f?=
=?UTF-8?q?effery-antd-components=E7=89=88=E6=9C=AC=E4=B8=BA0.2.10rc17?=
=?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8DAntdTable=E5=BA=95=E5=B1=82bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
requirements.txt | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/requirements.txt b/requirements.txt
index 7674277..f6cbbfe 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -23,7 +23,7 @@ email-validator==2.0.0.post2
et-xmlfile==1.1.0
fastapi==0.95.1
feffery-antd-charts==0.0.1rc17
-feffery-antd-components==0.2.9
+feffery-antd-components==0.2.10rc17
feffery-markdown-components==0.2.10
feffery-utils-components==0.1.28
Flask==2.2.5
@@ -50,7 +50,6 @@ Pillow==10.0.0
plotly==5.14.1
ply==3.11
psutil==5.9.5
-psycopg2==2.9.6
pyasn1==0.5.0
pycparser==2.21
pydantic==1.10.7
--
Gitee
From 9ea238534e60d2128c82688927b97b147c78d151 Mon Sep 17 00:00:00 2001
From: xlf <3055204202@qq.com>
Date: Thu, 21 Sep 2023 11:36:41 +0800
Subject: [PATCH 2/5] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95?=
=?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=83=A8=E9=97=A8=E7=9A=84bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
dash-fastapi-backend/module_admin/dao/dept_dao.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dash-fastapi-backend/module_admin/dao/dept_dao.py b/dash-fastapi-backend/module_admin/dao/dept_dao.py
index e08f859..dc5098d 100644
--- a/dash-fastapi-backend/module_admin/dao/dept_dao.py
+++ b/dash-fastapi-backend/module_admin/dao/dept_dao.py
@@ -197,7 +197,7 @@ class DeptDao:
"""
db_dept = SysDept(**dept.dict())
db.add(db_dept)
- db.refresh(db_dept) # 刷新
+ db.flush()
return db_dept
--
Gitee
From 1c3bca8d1430f3415039441dd6518617312d6641 Mon Sep 17 00:00:00 2001
From: xlf <3055204202@qq.com>
Date: Thu, 21 Sep 2023 11:52:55 +0800
Subject: [PATCH 3/5] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=AE=9A=E6=97=B6?=
=?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=AF=BC=E5=87=BAservice=E5=BC=82=E5=B8=B8?=
=?UTF-8?q?=E7=9A=84bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
dash-fastapi-backend/module_admin/service/job_service.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dash-fastapi-backend/module_admin/service/job_service.py b/dash-fastapi-backend/module_admin/service/job_service.py
index 571c18f..5f50e8c 100644
--- a/dash-fastapi-backend/module_admin/service/job_service.py
+++ b/dash-fastapi-backend/module_admin/service/job_service.py
@@ -167,7 +167,7 @@ class JobService:
data = [JobModel(**vars(row)).dict() for row in job_list]
job_group_list = await DictDataService.query_dict_data_list_from_cache_services(request.app.state.redis, dict_type='sys_job_group')
- job_group_option = [dict(label=item.dict_label, value=item.dict_value) for item in job_group_list]
+ job_group_option = [dict(label=item.get('dict_label'), value=item.get('dict_value')) for item in job_group_list]
job_group_option_dict = {item.get('value'): item for item in job_group_option}
for item in data:
--
Gitee
From 3dcb5bdae64e9745916ee6fcd4c4cc94ea398a9c Mon Sep 17 00:00:00 2001
From: xlf <3055204202@qq.com>
Date: Thu, 21 Sep 2023 14:48:47 +0800
Subject: [PATCH 4/5] =?UTF-8?q?docs:=E6=9B=B4=E6=96=B0README=E6=96=87?=
=?UTF-8?q?=E6=A1=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 10 +++++++---
demo-pictures/dashzsxq.jpg | Bin 0 -> 71242 bytes
demo-pictures/wxcode.jpg | Bin 0 -> 89252 bytes
3 files changed, 7 insertions(+), 3 deletions(-)
create mode 100644 demo-pictures/dashzsxq.jpg
create mode 100644 demo-pictures/wxcode.jpg
diff --git a/README.md b/README.md
index 04caeaf..4420359 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@
-Dash-FastAPI-Admin v1.0.4
+Dash-FastAPI-Admin v1.0.5
基于Dash+FastAPI前后端分离的纯Python快速开发框架
-
+
@@ -130,10 +130,14 @@ python3 app.py
```
## 交流与赞助
-如果有对本项目及FastAPI感兴趣的朋友,欢迎加入知识星球一起交流学习,让我们一起变得更强。如果你觉得这个项目帮助到了你,你可以请作者喝杯咖啡表示鼓励☕。
+如果有对本项目及FastAPI感兴趣的朋友,欢迎加入知识星球一起交流学习,让我们一起变得更强。如果你觉得这个项目帮助到了你,你可以请作者喝杯咖啡表示鼓励☕。扫描下面微信二维码添加微信备注DF-Admin即可进群,也欢迎大家加入dash大神费弗里的知识星球学习更多dash开发知识。
\ No newline at end of file
diff --git a/demo-pictures/dashzsxq.jpg b/demo-pictures/dashzsxq.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2f7be556491f9c54ea01353dbf805d6a61d14fab
GIT binary patch
literal 71242
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
literal 0
HcmV?d00001
diff --git a/demo-pictures/wxcode.jpg b/demo-pictures/wxcode.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2d9a0b1d589e5c4dab0715704cb3f943d553def0
GIT binary patch
literal 89252
zcmeEu2Ut_vzUM~3D1wnDN{b2#iimUtBq-8FPz0nUDoQURDlHHM0Y!>{h=LL<^b(a`
zqjXeylU}8lgc=}a7M^m?@t&FQ&AdDJ-8XYN-}ZcKXYZA@{^j?tEA(&lL1>q@x|TY`
zzyLuE;6I4o1F1q=nV7dSGi}|q)_)30wYs{hJ2=mVtlEz`teS-!kyuTL$VOt_x~^am7ljFmqW2
zL!z($U%UKOm~XDHR(gw^i++`-QTFmY-ChHB1lcN!+h4RrAvDFmz0D7?tex7m
z6Z;Gi>Tcv}@y$UZ$Gqj+c&5pxF2O7xiIB%KdXzXiG$Trf0tj?S|CfwehL0XlTm!ulTODk9iu!uv`07Y6j>I>N0Ni!b2Xq*9LRjz#rO
z`F-{i`%DJEum>1XhnAGsJ93q|?XX?_M}rTY(8)cH!(UhrF3%Fg2^Sirq!>j-7N5%A
z&_OJGp+ka6bjS|A_MHxeU*c&x{$kDMYvv**_fqxgNpm|%o0%~gWG