Files
cdtestplant_v1/apps/project/controllers/__pycache__/project.cpython-313.pyc

116 lines
27 KiB
Plaintext
Raw Normal View History

2025-04-29 18:09:00 +08:00
<EFBFBD>
2026-02-07 17:26:34 +08:00
}<7D><>i8X<00><00><><00>SSKJr SSKJr SSKJr SSKJrJr SSK J
2025-04-29 18:09:00 +08:00
r
2026-02-04 11:24:15 +08:00
SSK J r SSK JrJrJr SSKJr SS KJr SS
2026-02-07 17:26:34 +08:00
KJr SS KJr SS KJr SS KJr SSKJr SSKJ r SSK!J"r"J#r# SSK$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/ SSK0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8 SSK9J:r: SSK;J<r< SSK=J>r> \R~"5S- r@\R~"5S- rA\"S\"5\/S/S9"SS\55rBg)<1E>)<01>Path)<01>date)<01>List)<02>copytree<65>rmtree)<01>get_object_or_404)<01> transaction)<03>api_controller<65>ControllerBase<73>route)<01>IsAuthenticated)<01>JWTAuth)<01>Users)<01> MyPagination)<01>paginate)<01> HttpError)<01>Query)<01> ChenResponse)<02>create<74>multi_delete_project) <0B>Project<63>Round<6E>ProjectSoftSummary<72> StuctSortData<74>StaticSoftItem<65>StaticSoftHardware<72>DynamicSoftTable<6C>DynamicHardwareTable<6C>ProjectDynamicDescription<6F> EvaluateData<74> EnvAnalysis)<08>ProjectRetrieveSchema<6D>ProjectFilterSchema<6D>ProjectCreateInput<75> DeleteSchema<6D>SoftSummarySchema<6D>
DataSchema<EFBFBD>StaticDynamicData<74>EnvAnalysisSchema)<01> get_str_dict<63><01>time_return_to)<01>conditionNoneToBlank<6E>mediazconf/base_documentz/testmanage/projectu项目表相关)<03>auth<74> permissions<6E>tagsc<00><><00>\rSrSr\R
2025-04-29 18:09:00 +08:00
"S\\S9\"\ 5\
"S54S\ 4Sjj55r \R
"S\S9\ RS\4S j55r\R""S
5\ RS \4S j55r\R("S 5\ RS\S\4Sj55r\R,"S5\ RS \4Sj55r\R
"S5\ RS\4Sj55r\R
"S5\ RS\4Sj55r\R
2026-02-07 17:26:34 +08:00
"S5\ RS\4Sj55r\S\\4Sj5r\S\4Sj5r\R""S5\ RS\ 4Sj55r!\R""S5\ RS\ 4Sj55r"\S \#S!\\$S"-4S#j5r%\R
"S$\\S9\ RS\4S%j55r&\R
"S&\\S9\ RS\4S'j55r'\R""S(5\ RS\S)\4S*j55r(\R
"S+\S9\ RS\4S,j55r)\S-\*4S.j5r+\R
"S/5S\S-\*4S0j5r,\R""S15\ RS \-4S2j55r.\R
"S35\ RS\4S4j55r/\R""S55\ RS \04S6j55r1S7r2g")8<>ProjectController<65>z/index)<01>response.<2E>filtersc <00>N<00>[U5 URRRR S5nUcSnURRRR S5nUcSnX#/n/nURRRR 5HNupgUR S5S:wdMURURRRU5 MP [RRURURXARURURUR XQR"S9 R%S5nUR&S :waURUR&S
2025-04-29 18:09:00 +08:00
9n/n URRR(n
U
(abU
R*S :waRUHJn U RU
R:XdU
RU R,;dM9U RU 5 ML U $U$) NzsearchOnlyTimeRange[0]z
2000-01-01zsearchOnlyTimeRange[1]z
2026-02-07 17:26:34 +08:00
9999-01-01<30>member<65><72><EFBFBD><EFBFBD><EFBFBD>) <09>ident__icontains<6E>name__icontains<6E>beginTime__range<67>duty_person__icontains<6E>security_level__icontains<6E>report_type__icontains<6E>step__icontains<6E>member__contains<6E>secret__icontainsz-create_datetime<6D>)<01> soft_type<70>admin)r-<00>context<78>request<73>GET<45>get<65>items<6D>find<6E>appendr<00>objects<74>filter<65>ident<6E>name<6D> duty_person<6F>security_level<65> report_type<70>step<65>secret<65>order_byrDr/<00>roler8) <0C>selfr6<00>
2026-02-05 18:27:04 +08:00
start_time<EFBFBD>end_time<6D> date_list<73> member_list<73>key<65>value<75>qs<71>final_qs<71> auth_info<66>projs <20>EE:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py<70> list_project<63>ProjectController.list_project s<><00><00> <1D>W<EFBFBD>%<25><19>\<5C>\<5C>)<29>)<29>-<2D>-<2D>1<>1<>2J<32>K<>
2025-04-29 18:09:00 +08:00
<EFBFBD> <15> <1D>%<25>J<EFBFBD><17><<3C><<3C>'<27>'<27>+<2B>+<2B>/<2F>/<2F>0H<30>I<><08> <13> <1B>#<23>H<EFBFBD><1F>*<2A> <09><18> <0B><1E>,<2C>,<2C>.<2E>.<2E>2<>2<>8<>8<>:<3A>J<EFBFBD>C<EFBFBD><12>x<EFBFBD>x<EFBFBD><08>!<21>R<EFBFBD>'<27><1B>"<22>"<22>4<EFBFBD><<3C><<3C>#7<>#7<>#;<3B>#;<3B>C<EFBFBD>#@<40>A<>;<3B><15>_<EFBFBD>_<EFBFBD> #<23> #<23>$<24>]<5D>]<5D>G<EFBFBD>L<EFBFBD>L<EFBFBD>&<26>?R<>?R<>&-<2D>&<<3C>&<<3C>#*<2A>#6<>#6<><07> <0C> <0C>(<28>N<EFBFBD>N<EFBFBD> $<24>L<01>
MU<01>H<EFBFBD> <1E>M <20> <0B> <13> <1C> <1C><02> "<22><13><19><19>W<EFBFBD>%6<>%6<><19>7<>B<EFBFBD><16><08><1F><<3C><<3C>/<2F>/<2F>4<>4<> <09> <14><18>~<7E>~<7E><17>(<28><1E>D<EFBFBD><1B>'<27>'<27>9<EFBFBD>><3E>><3E>9<>Y<EFBFBD>^<5E>^<5E>t<EFBFBD>{<7B>{<7B>=Z<> <20><0F><0F><04>-<2D><1F> <20><0F><11> <09>z/findOneById/{int:project_id}<7D>
2026-02-07 17:26:34 +08:00
project_idc<00>"<00>[[US9nU$)N<><01>id)rr)rXrg<00> project_objs rc<00>get_project_by_id<69>#ProjectController.get_project_by_idGs<00><00>(<28><07>J<EFBFBD>?<3F> <0B><1A>rfz/save<76>datac <00><><00>UR5n[RRUR5SS9nU(a [ SSSS9$[ UR RU[5nU(ax[RR URSSSSSS RURS
/5S 9 [n[UR- n[XV5 [ SSSS9$[ SSSS9$![a [ S S S S9s$[ a [ S S SS9s$["a [ S S SS9s$f=f)NrO)rO<00><>u$项目标识重复请重新设置<E8AEBE><03>code<64>status<75>message<67>0u 第1轮测试u第一轮测试rCz-R1)rgr]<00>level<65>titlerP<00>remarkrO<00><>uL错误检查是否打开了服务器的conf中的文档关闭后重试<E9878D>3文件标识已存在或输入为空格请修改<E4BFAE>文件不存在请检查<E6A380><E69FA5>u-添加项目成功并添加第一轮测试u未添加任何项目)<12>dictrrMrNrrrFrGrrj<00>joinrO<00>base_document_path<74>
media_pathr<00>PermissionError<6F>FileExistsError<6F>FileNotFoundError)rXrn<00> data_dict<63> ident_qucoverr_<00>src_dir<69>dist_dirs rc<00>create_project<63> ProjectController.create_projectMs><00><00><19>I<EFBFBD>I<EFBFBD>K<EFBFBD> <09><1F><0F><0F>.<2E>.<2E>T<EFBFBD>Y<EFBFBD>Y<EFBFBD>[<5B><17>5I<35>.<2E>J<> <0A> <18><1F>S<EFBFBD><13>>d<>e<> e<> <13>D<EFBFBD>L<EFBFBD>L<EFBFBD>(<28>(<28>)<29>W<EFBFBD> =<3D><02> <0A> <11>M<EFBFBD>M<EFBFBD> <20> <20>B<EFBFBD>E<EFBFBD>E<EFBFBD>s<EFBFBD>#<23>_<EFBFBD>cr<63>(9<><12><17><17>"<22>(<28>(<28>TY<54>IZ<49>A[<5B> !<21> ]<01>)<29>G<EFBFBD>!<21>B<EFBFBD>H<EFBFBD>H<EFBFBD>,<2C>H<EFBFBD> a<01><18><17>+<2B> <20>S<EFBFBD><13>>m<>n<> n<><1B><13>S<EFBFBD>:Q<>R<>R<><52>#<23> |<01>#<23><13>S<EFBFBD>,z<>|<01>|<01>"<22> y<01>#<23><13>S<EFBFBD>Bw<42>x<>x<>$<24> a<01>#<23><13>S<EFBFBD>B_<42>`<60>`<60> a<01>s<00> D<00>E<03>E<03>-E<03>Ez/update/{project_id}<7D>payloadc<00>8<00>UR[US9nURnUR5R 5HupV[ X5U5 M UR 5 URnXt:wa<>[[U- 5R[UR- 5 URR5H3nURRXG5UlUR 5 M5 URR5H3n U RRXG5U lU R 5 M5 [SSSS9$![a [SSSS9s$[ a [SSSS9s$["a [SSSS9s$f=f) Nriryu-错误请关闭文件资源管理器再试rqrzr{r|u项目更新成功)<12>get_object_or_exceptionrrOr}rJ<00>setattr<74>saverr<><00>rename<6D>pField<6C>all<6C>replace<63>pdFieldr<64>rr<>r<>)
rXrgr<><00>project<63> old_ident<6E>attrr^<00> new_ident<6E>r<>ds
rc<00>update_project<63> ProjectController.update_projecthsW<00><00><17>.<2E>.<2E>w<EFBFBD>:<3A>.<2E>F<><07><1B>M<EFBFBD>M<EFBFBD> <09>"<22><<3C><<3C>><3E>/<2F>/<2F>1<>K<EFBFBD>D<EFBFBD> <13>G<EFBFBD>5<EFBFBD> )<29>2<><0F> <0C> <0C><0E><1B>M<EFBFBD>M<EFBFBD> <09> <14> !<21> a<01><14>Z<EFBFBD>)<29>+<2B>,<2C>3<>3<>J<EFBFBD><17><1D><1D>4N<34>O<> <20><1E><1E>+<2B>+<2B>-<2D>A<EFBFBD><1F>g<EFBFBD>g<EFBFBD>o<EFBFBD>o<EFBFBD>i<EFBFBD>C<>A<EFBFBD>G<EFBFBD><15>F<EFBFBD>F<EFBFBD>H<EFBFBD>.<2E>!<21><1F><1F>,<2C>,<2C>.<2E>A<EFBFBD><1F>g<EFBFBD>g<EFBFBD>o<EFBFBD>o<EFBFBD>i<EFBFBD>C<>A<EFBFBD>G<EFBFBD><15>F<EFBFBD>F<EFBFBD>H<EFBFBD>/<2F><1C><13>S<EFBFBD>:N<>O<>O<><4F> #<23> s<01>#<23><13>S<EFBFBD>Bq<42>r<>r<>"<22> y<01>#<23><13>S<EFBFBD>Bw<42>x<>x<>$<24> a<01>#<23><13>S<EFBFBD>B_<42>`<60>`<60> a<01>s<00>6CE<00>F<03>,F<03>F<03>Fz/deletec<00><><00>[UR[5nUHn[U- n[ U5 M [ SS9$![
a [ SSSS9ss $f=f)Nrpu9项目模版目录可能不存在,可能之前已删除)rsrrrtu删除成功!)rt)r<00>idsrr<>rr<>r)rXrn<00>identsrO<00>project_media_paths rc<00>delete<74>ProjectController.delete<74>si<00><00>&<26>d<EFBFBD>h<EFBFBD>h<EFBFBD><07>8<><06><1B>E<EFBFBD>!+<2B>e<EFBFBD>!3<> <1E> <01><16>)<29>*<2A><1C> <1C>$5<>6<>6<><36>%<25> <01>#<23>3<EFBFBD>S<EFBFBD>B}<7D>~<7E>~<7E> <01>s<00> A<02>A<05>Az/boardrjc <00><><00>[[US9n[URS5nURR 5nSnSnSnUH<>nURR 5n U R 5n
2025-04-29 18:09:00 +08:00
U RSS9R 5n U RSS9R 5n X<>-
U -
n U S:<3A>aX<>:XaUS- nM<>US- nM<>US- nM<> URR 5nSnSnUHnURS:waUS- nMUS- nM! S/0nURR 5nURUS 'URUS
'UHKn[UR5S-nUSRS US 3URURS .5 MM /nUGHqnS [UR5S-S 3/00S.nUR R 5nUHWnUR"UR$R 5UR&R 5S.nUSRU5 MY UR(R 5nUH<n[UR*S5nUUS;a
SUSU'M,USU==S- ss'M> UR,R 5nUHHnUR.n[UR*S5n U US;a
SUSU 'M8USU ==S- ss'MJ URU5 GMt UR0UR"UURUR[2R4"5UR-
2026-02-07 17:26:34 +08:00
R6S3S.UR8[;UR<5S.UR>UR@URBS.UR 5UUUS.UR 5UUS.S.UUS.$)NrirTr<00>1)<01>passed<65>2<><00>
round_timerYrZu第u轮次)rP<00>start<72>end)rP<00>desings<67> method_demand<6E> method_case)rP<00> demand_count<6E>
case_countr<EFBFBD><00>testTyper<65>r<>u天)u 开始时间u 结束时间u到现在时间)u 负责人u 成员数)u 联系人u电话u邮箱)<04>总数u 已执行u 未执行u 部分执行)r<>u 已闭环u 未闭环)u时间u人员u开发方信息u 用例数u 问题数)rOrPrT<00>
2025-04-29 18:09:00 +08:00
title_info<EFBFBD> time_line<6E>
2026-02-07 17:26:34 +08:00
statistics)"rrr*rT<00>pcFieldr<64><00>countrN<00> projFieldrsr<><00> beginTime<6D>endTime<6D>intr]rL<00>dsFieldrP<00>dtField<6C>dcField<6C>rtFieldr<64><00>rcField<6C>testrOr<00>today<61>daysrQ<00>lenr8<00> dev_contact<63>dev_contact_phone<6E> dev_email)!rXrjrk<00>step_str<74>case_qs<71> exe_count<6E> noexe_count<6E> partexe_count<6E>case<73>steps<70> steps_count<6E>passed_steps_count<6E>notPassed_steps_count<6E>notExe_steps_count<6E>problems<6D> close_count<6E>
2025-04-29 18:09:00 +08:00
open_count<EFBFBD>problem<65>timers<72>rounds<64>round<6E> round_number<65> data_list<73>
round_dict<EFBFBD>designs<6E>design<67> design_dict<63>demands<64>demand<6E> test_type<70>cases<65>
2026-02-07 17:26:34 +08:00
testDemand<EFBFBD> case_types! rc<00>board<72>ProjectController.board<72>s<><00><00>(<28><07>B<EFBFBD>7<> <0B><1F> <0B> 0<> 0<>&<26>9<><08>
2025-04-29 18:09:00 +08:00
<1E>%<25>%<25>)<29>)<29>+<2B><07><15> <09><17> <0B><19> <0A><1B>D<EFBFBD><18>I<EFBFBD>I<EFBFBD>M<EFBFBD>M<EFBFBD>O<EFBFBD>E<EFBFBD><1F>+<2B>+<2B>-<2D>K<EFBFBD>!&<26><1C><1C>S<EFBFBD><1C>!9<>!?<3F>!?<3F>!A<> <1E>$)<29>L<EFBFBD>L<EFBFBD><03>L<EFBFBD>$<<3C>$B<>$B<>$D<> !<21>!,<2C>!A<>DY<44>!Y<> <1E>!<21>A<EFBFBD>%<25>%<25>4<><1F>1<EFBFBD>$<24>K<EFBFBD>!<21>Q<EFBFBD>&<26>M<EFBFBD><19>Q<EFBFBD><0E> <09><1C> <1F>(<28>(<28>,<2C>,<2C>.<2E><08><17> <0B><16>
<EFBFBD><1F>G<EFBFBD><16>~<7E>~<7E><13>$<24><1A>a<EFBFBD><0F>
<EFBFBD><1B>q<EFBFBD> <20> <0B>  <20><1F><02>#<23><06><1C>#<23>#<23>'<27>'<27>)<29><06>*<2A>4<>4<><06>|<7C><1C>(<28>0<>0<><06>z<EFBFBD><1A><1B>E<EFBFBD><1E>u<EFBFBD>y<EFBFBD>y<EFBFBD>><3E>A<EFBFBD>-<2D>L<EFBFBD> <12><<3C> <20> '<27> '<27><1D>l<EFBFBD>^<5E>6<EFBFBD>2<><1E><1F><1F><1C>}<7D>}<7D>)<0E> <0F><1C><17> <09><1B>E<EFBFBD>$'<27><03>E<EFBFBD>I<EFBFBD>I<EFBFBD><0E><11>(:<3A>';<3B>6<EFBFBD>"B<>r<EFBFBD>df<64>)+<2B>-<2D>J<EFBFBD><1B>m<EFBFBD>m<EFBFBD>'<27>'<27>)<29>G<EFBFBD>!<21><06>"<22>K<EFBFBD>K<EFBFBD>$*<2A>N<EFBFBD>N<EFBFBD>$8<>$8<>$:<3A>"(<28>.<2E>.<2E>"6<>"6<>"8<><12> <0B>
2025-04-29 18:09:00 +08:00
<1B>9<EFBFBD>%<25>,<2C>,<2C>[<5B>9<> "<22><1C>m<EFBFBD>m<EFBFBD>'<27>'<27>)<29>G<EFBFBD>!<21><06>(<28><16><1F><1F>*<2A>E<> <09><1C>J<EFBFBD><EFBFBD>$?<3F>?<3F>=><3E>J<EFBFBD><EFBFBD>/<2F> <09>:<3A><1E><EFBFBD>/<2F> <09>:<3A>a<EFBFBD>?<3F>:<3A> "<22> <1A>M<EFBFBD>M<EFBFBD>%<25>%<25>'<27>E<EFBFBD><1D><04>!<21>Y<EFBFBD>Y<EFBFBD>
<EFBFBD>(<28><1A>)<<3C>)<<3C>j<EFBFBD>I<> <09><1C>J<EFBFBD>}<7D>$=<3D>=<3D>;<<3C>J<EFBFBD>}<7D>-<2D>i<EFBFBD>8<><1E>}<7D>-<2D>i<EFBFBD>8<>A<EFBFBD>=<3D>8<> <1E> <16> <1C> <1C>Z<EFBFBD> (<28>5<1C>:!<21>&<26>&<26><1F>$<24>$<24><1C>%0<>$9<>$9<>$/<2F>$7<>$7<>+/<2F>:<3A>:<3A><<3C>+<2B>:O<>:O<>+O<>*U<>*U<>)V<>VY<56>'Z<><12> "-<2D>!8<>!8<>!$<24>[<5B>%7<>%7<>!8<><12>
2025-04-29 18:09:00 +08:00
"-<2D>!8<>!8<>)<29>;<3B>;<3B>)<29>3<>3<>$<12> &<26>m<EFBFBD>m<EFBFBD>o<EFBFBD>!*<2A>!,<2C>$1<> <12>'<27>n<EFBFBD>n<EFBFBD>.<2E>!,<2C>!+<2B><12>+<0E>6 <20>#<23>A!
<EFBFBD>!
2026-02-07 17:26:34 +08:00
rfz/document_time_showc<00><00>[U5nU$<00>Nr+)rXrj<00>times rc<00>document_time_show<6F>$ProjectController.document_time_show s<00><00><1E>b<EFBFBD>!<21><04><13> rfz/project_info_status/c <00>l<00>URU5n[SS.[SS.[SS.[SS.[
SS.[ SS.[SS.[S S.[S
S.S . n0nUR5H.upVUS RRUS 9nUS"U5XE'M0 [SSUSS9$)Nc<00><><00>UR5=(a( UR5RR5$r<><00><03>exists<74>first<73> data_schemas<61>r_s rc<00><lambda><3E>7ProjectController.project_info_status.<locals>.<lambda><00>'<00><00>B<EFBFBD>I<EFBFBD>I<EFBFBD>K<EFBFBD>$T<>B<EFBFBD>H<EFBFBD>H<EFBFBD>J<EFBFBD>4K<34>4K<34>4R<34>4R<34>4T<34>$Trf)<02>model<65>checkc<00>"<00>UR5$r<><00>r<>r<>s rcr<>r<> <00>
<00><00>B<EFBFBD>I<EFBFBD>I<EFBFBD>Krfc<00>"<00>UR5$r<>r<>r<>s rcr<>r<>$r<>rfc<00>"<00>UR5$r<>r<>r<>s rcr<>r<>(r<>rfc<00>"<00>UR5$r<>r<>r<>s rcr<>r<>,r<>rfc<00>"<00>UR5$r<>r<>r<>s rcr<>r<>0r<>rfc<00><><00>UR5=(a( UR5RR5$r<>r<>r<>s rcr<>r<>4r<>rfc<00>"<00>UR5$r<>r<>r<>s rcr<>r<>8r<>rfc<00>"<00>UR5$r<>r<>r<>s rcr<>r<><r<>rf) <09> soft_summary<72>interface_image<67>static_soft_item<65>static_soft_hardware<72>dynamic_soft_item<65>dynamic_soft_hardware<72> dynamic_des<65> evaluate_data<74> env_analysisr<73><00>r<>r<>r|<00> Nu 查询成功)rsrrrnrt)rlrrrrrrrr r!rJrMrNr)rXrjrk<00>status_configs<67>
all_status<EFBFBD>
status_key<EFBFBD>configr_s rc<00>project_info_status<75>%ProjectController.project_info_statuss<><00><00><1B>,<2C>,<2C>R<EFBFBD>0<> <0B>
,<2C>T<><0E>
'<27>/<2F> <0E>
(<28>/<2F>!<0E>
,<2C>/<2F>%<0E>
*<2A>/<2F>"<0E>
.<2E>/<2F>&<0E>
3<>T<><0E>
&<26>/<2F><0E>
%<25>/<2F><0E>C%
<EFBFBD><0E>N<18>
<EFBFBD>"0<>"6<>"6<>"8<> <1E>J<EFBFBD><17><07><1F>(<28>(<28>/<2F>/<2F> <0B>/<2F>D<>B<EFBFBD>%+<2B>G<EFBFBD>_<EFBFBD>R<EFBFBD>%8<>J<EFBFBD> "<22>#9<><1C>3<EFBFBD>U<EFBFBD><1A>^<5E>\<5C>\rf<00>datasc<00><><00>Sn[U[5(aSnO<[U[5(aSnO$[U[5(aSnO [ SS5e/nUHIn[ UR URURS9n[XcU5 URU5 MK [
RRU5 g)u<>
2026-02-04 11:24:15 +08:00
批量创建结构化排序数据 (自动类型推断)
Args:
parent_obj: 父级对象,可以是 ProjectSoftSummary 或 Project 的实例
datas (list[DataSchema]): 数据模式对象列表
2026-02-07 17:26:34 +08:00
Nrr<><00>dynamic_descriptionrpu3添加的数据未在系统内,请联系管理员)<03>type<70>fontnote<74>content) <0A>
isinstancerrrrrrrrr<>rLrM<00> bulk_create)<07>cls<6C>
parent_objr<00>
field_namer<EFBFBD>rn<00>new_datas rc<00>bulk_create_data_schemas<61>*ProjectController.bulk_create_data_schemasGs<><00><00><1A>
2026-02-04 11:24:15 +08:00
<EFBFBD> <15>j<EFBFBD>"4<> 5<> 5<>'<27>J<EFBFBD> <17>
2026-02-07 17:26:34 +08:00
<EFBFBD>G<EFBFBD> ,<2C> ,<2C>"<22>J<EFBFBD> <17>
<EFBFBD>$=<3D> ><3E> ><3E>.<2E>J<EFBFBD><1B>C<EFBFBD>!V<>W<> W<><16> <09><19>D<EFBFBD>$<24><19>Y<EFBFBD>Y<EFBFBD><1D><1D><1D><1C> <0C> <0C><0E>H<EFBFBD>
<14>H<EFBFBD>*<2A> 5<> <15> <1C> <1C>X<EFBFBD> &<26><1A> <16><1D><1D>)<29>)<29>)<29>4rfc<00>d<00>[[US9nURRUS9nUR 5(aJUR 5nUR R5R5 URXc5 gURRUS9nURXs5 g)N)<01>pkr
) rrrMrNr<>r<>r<>r<>r<>rr)rrjr<>rnrkr_<00>objrs rc<00>create_or_modify_data_schemas<61>/ProjectController.create_or_modify_data_schemasfs<><00><00>'<27><07>B<EFBFBD>7<> <0B> <12>]<5D>]<5D> !<21> !<21>+<2B> !<21> 6<><02> <0A>9<EFBFBD>9<EFBFBD>;<3B>;<3B><14>(<28>(<28>*<2A>C<EFBFBD> <0F> <1C> <1C> <20> <20> "<22> )<29> )<29> +<2B> <0F> (<28> (<28><13> 3<><1E><1D><1D>-<2D>-<2D>k<EFBFBD>-<2D>B<>J<EFBFBD> <0F> (<28> (<28><1A> :rfz/soft_summary/c<00>Z<00>URUR[UR5 gr<>)r#rjrrn<00>rXr<>s rcr<00>ProjectController.soft_summaryts<00><00> <0A>*<2A>*<2A>7<EFBFBD>:<3A>:<3A>7I<37>7<EFBFBD><<3C><<3C>Xrfz/dynamic_description/c<00>Z<00>URUR[UR5 gr<>)r#rjrrnr&s rcr<00>%ProjectController.dynamic_descriptionzs"<00><00> <0A>*<2A>*<2A>7<EFBFBD>:<3A>:<3A>7P<37>RY<52>R^<5E>R^<5E>_rfrk<00>returnNc<00>*<00>URRUS9nUR5(a`UR5nURR 5nUVs/sH'nUR URURS.PM) nnU$gs snf)uLmodel: 当前一对一模型直接获取结构化数据信息数组返回r
<00>rrrN) rMrNr<>r<>r<>r<>rrr)rrkr<>r_r"<00>ds_qs<71>itemr<6D>s rc<00>get_res_from_info<66>#ProjectController.get_res_from_infos<><00><00><13>]<5D>]<5D> !<21> !<21>+<2B> !<21> 6<><02> <0A>9<EFBFBD>9<EFBFBD>;<3B>;<3B><14>(<28>(<28>*<2A>C<EFBFBD><17>$<24>$<24>(<28>(<28>*<2A>E<EFBFBD>
 <20> !<21> <20>$<24><1D> <09> <09><1F><<3C><<3C> <20>M<EFBFBD>M<EFBFBD><0E> <20> <16>!<21>
<1D> <1C><13><> !s<00>.Bz/get_soft_summary/c<00><><00>URU5nURU[5nU(a [SSUS9$[SS/S9$<00>Nr|r <00>rsrrrn)rlr/rr<00>rXrjrkr<>s rc<00>get_soft_summary<72>"ProjectController.get_soft_summary<72>sH<00><00><1B>,<2C>,<2C>R<EFBFBD>0<> <0B><18>*<2A>*<2A>;<3B>8J<38>K<> <09> <14><1F>s<EFBFBD><15>Y<EFBFBD>G<> G<><1B>3<EFBFBD>U<EFBFBD><12><<3C><rfz /dynamic_des/c<00><><00>URU5nURU[5nU(a [SSUS9$[SS/S9$r2)rlr/rrr4s rc<00>get_dynamic_des<65>!ProjectController.get_dynamic_des<65>sH<00><00><1B>,<2C>,<2C>R<EFBFBD>0<> <0B><18>*<2A>*<2A>;<3B>8Q<38>R<> <09> <14><1F>s<EFBFBD><15>Y<EFBFBD>G<> G<><1B>3<EFBFBD>U<EFBFBD><12><<3C><rfz/interface_image/<2F>
dataSchemac<00><><00>URU5n[RRUS9nUR 5(aUR 5 UR X2/5 g)Nr
)rlrrMrNr<>r<>r)rXrjr:rk<00>image_qss rc<00>post_interface_image<67>&ProjectController.post_interface_image<67>sT<00><00><1B>,<2C>,<2C>R<EFBFBD>0<> <0B> <20>(<28>(<28>/<2F>/<2F> <0B>/<2F>D<><08> <13>?<3F>?<3F> <1C> <1C> <14>O<EFBFBD>O<EFBFBD> <1D> <0C>%<25>%<25>k<EFBFBD><<3C>@rfz/get_interface_image/c<00><00>URU5n[RRUS9nUR 5(a=UR 5n[ SSURURURS.S9$[ SSSS9$)Nr
r|<00><>ar,r3<00><>a)
rlrrMrNr<>r<>rrrr)rXrjrkr<<00> image_objs rc<00>get_interface_image<67>%ProjectController.get_interface_image<67>s<><00><00><1B>,<2C>,<2C>R<EFBFBD>0<> <0B> <20>(<28>(<28>/<2F>/<2F> <0B>/<2F>D<><08> <13>?<3F>?<3F> <1C> <1C> <20><0E><0E>(<28>I<EFBFBD><1F>s<EFBFBD><15>!<21><0E><0E>$<24>,<2C>,<2C>%<25>.<2E>.<2E>><0E><0F> <0F>
<1C>3<EFBFBD>U<EFBFBD><14>><3E>>rf<00>categoryc<00>B<00>[[[[[S.nX!$)N)u静态软件项u静态硬件项u动态软件项u动态硬件项u 测评数据)rrrrr )rrE<00>mapDicts rc<00>get_model_from_category<72>)ProjectController.get_model_from_category<72>s%<00><00> .<2E>1<>/<2F>3<>(<28> 
<EFBFBD><07><17> <20> rfz/get_static_dynamic_items/c<00><00>URU5nURU5RRUS9nUR 5(a2UR 5n[ SSURURS.S9$[ SSSS9$)Nr
r|r@)<02>tablerr3rA) rlrHrMrNr<>r<>rrKr)rXrjrErk<00>item_qs<71>item_objs rc<00>get_static_dynamic_items<6D>*ProjectController.get_static_dynamic_items<6D>s}<00><00><1A>,<2C>,<2C>R<EFBFBD>0<> <0B><16>.<2E>.<2E>x<EFBFBD>8<>@<40>@<40>G<>G<>P[<5B>G<>\<5C><07> <12>><3E>><3E> <1B> <1B><1E>}<7D>}<7D><EFBFBD>H<EFBFBD><1F>s<EFBFBD><15>x<EFBFBD>~<7E>~<7E>ck<63>ct<63>ct<63>=u<>v<> v<><1B>3<EFBFBD>U<EFBFBD><14>><3E>>rfz/post_static_dynamic_item/c<00>H<00>URUR5nURUR5nURR US9nUR 5(aUR5 URRX!RURS9 g)Nr
)r<>rKr) rlrjrHrErMrNr<>r<>rrKr)rXrnrkr<>rLs rc<00>post_static_dynamic_item<65>*ProjectController.post_static_dynamic_item<65>sy<00><00><1B>,<2C>,<2C>T<EFBFBD>W<EFBFBD>W<EFBFBD>5<> <0B><14>,<2C>,<2C>T<EFBFBD>]<5D>]<5D>;<3B><05><17>-<2D>-<2D>&<26>&<26>{<7B>&<26>;<3B><07> <12>><3E>><3E> <1B> <1B> <13>N<EFBFBD>N<EFBFBD> <1C> <0A> <0A> <0A><1C><1C>[<5B>
2026-02-05 18:27:04 +08:00
<EFBFBD>
2026-02-07 17:26:34 +08:00
<EFBFBD>T<EFBFBD>]<5D>]<5D><1C>[rfz/get_env_analysis/c<00><00>URU5n[RRUS9nUR 5(a=UR 5n[ SSURURURS.S9$[ SSSS9$)Nr
r|r@)rKr<00> descriptionr3rA)
rlr!rMrNr<>r<>rrKrrT)rXrjrkr_r"s rc<00>get_env_analysis<69>"ProjectController.get_env_analysis<69>s<><00><00><1B>,<2C>,<2C>R<EFBFBD>0<> <0B> <18> <20> <20> '<27> '<27> <0B> '<27> <<3C><02> <0A>9<EFBFBD>9<EFBFBD>;<3B>;<3B><14>(<28>(<28>*<2A>C<EFBFBD><1F>s<EFBFBD><15>s<EFBFBD>y<EFBFBD>y<EFBFBD>^a<>^j<>^j<>{~<7E>|K<02>|K<02>>L<02>M<02> M<02><1B>3<EFBFBD>U<EFBFBD><14>><3E>>rfz/post_env_analysis/c<00>8<00>URUR5n[RR US9nUR 5(aUR 5 [RRX!RURURS9 g)Nr
)r<>rKrrT) rlrjr!rMrNr<>r<>rrKrrT)rXrnrkr_s rc<00>post_env_analysis<69>#ProjectController.post_env_analysis<69>sr<00><00><1B>,<2C>,<2C>T<EFBFBD>W<EFBFBD>W<EFBFBD>5<> <0B> <18> <20> <20> '<27> '<27> <0B> '<27> <<3C><02> <0A>9<EFBFBD>9<EFBFBD>;<3B>;<3B> <0E>I<EFBFBD>I<EFBFBD>K<EFBFBD><13><1B><1B>"<22>"<22>;<3B>j<EFBFBD>j<EFBFBD>SW<53>S`<60>S`<60>nr<6E>n~<7E>n~<7E>"<22>rf<00>)3<>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__r rIrr"rrrr#rdr <00>atomicr<63>rl<00>postr$r<><00>putr<74>r<>r%r<>r<>r<00> classmethod<6F>listr'rr#r&rrrr}r/r5r8r=rC<00>strrHrNr(rQrUr)rX<00>__static_attributes__rZrfrcr3r3sc<00><00>
<EFBFBD>Y<EFBFBD>Y<EFBFBD>x<EFBFBD>$<24>'<<3C>"=<3D>><3E> <0A>l<EFBFBD><1B>:?<3F><03>*<2A>#<12>$7<>#<12><1C>?<3F>#<12>J <0B>Y<EFBFBD>Y<EFBFBD>.<2E>9N<39>O<><10><17><17><1B>C<EFBFBD><1B><18>P<01><1B> <0B>Z<EFBFBD>Z<EFBFBD><07><18><10><17><17>S<01>#5<>S<01><18><19>S<01>2 <0B>Y<EFBFBD>Y<EFBFBD>%<25>&<26><10><17><17>P<01><13>P<01>7I<37>P<01><18>'<27>P<01>8 <0B>\<5C>\<5C>)<29><1C><10><17><17> 7<><<3C> 7<><18><1D> 7<> <0B>Y<EFBFBD>Y<EFBFBD>x<EFBFBD><18><10><17><17>s
<EFBFBD><03>s
<EFBFBD><18><19>s
<EFBFBD>l <0B>Y<EFBFBD>Y<EFBFBD>$<24>%<25><10><17><17><14>S<EFBFBD><14><18>&<26><14>
2026-02-07 17:26:34 +08:00
 <0B>Y<EFBFBD>Y<EFBFBD>&<26>'<27><10><17><17>/]<01>c<EFBFBD>/]<01><18>(<28>/]<01>d<11>5<><14>j<EFBFBD>9I<39>5<><11>5<><<11>
;<3B>s<EFBFBD>
;<3B><11>
;<3B> <0B>Z<EFBFBD>Z<EFBFBD> <20>!<21><10><17><17>Y<01>$5<>Y<01><18>"<22>Y<01> <0B>Z<EFBFBD>Z<EFBFBD>'<27>(<28><10><17><17>`<01>+<<3C>`<01><18>)<29>`<01><11> <14>G<EFBFBD> <14>t<EFBFBD>D<EFBFBD>z<EFBFBD>D<EFBFBD>?P<> <14><11> <14> <0B>Y<EFBFBD>Y<EFBFBD>#<23>d<EFBFBD>:<3A>.><3E>?<3F><10><17><17>=<3D>3<EFBFBD>=<3D><18>@<01>=<3D> <0B>Y<EFBFBD>Y<EFBFBD><EFBFBD><14>j<EFBFBD>)9<>:<3A><10><17><17>=<3D>#<23>=<3D><18>;<3B>=<3D> <0B>Z<EFBFBD>Z<EFBFBD>#<23>$<24><10><17><17>A<01>s<EFBFBD>A<01>
<EFBFBD>A<01><18>%<25>A<01> <0B>Y<EFBFBD>Y<EFBFBD>&<26><1A><<3C><10><17><17> ?<3F>c<EFBFBD> ?<3F><18>=<3D> ?<3F><11>!<21>s<EFBFBD>!<21><11>!<21> <0B>Y<EFBFBD>Y<EFBFBD>+<2B>,<2C>?<3F>3<EFBFBD>?<3F>#<23>?<3F>-<2D>?<3F> <0B>Z<EFBFBD>Z<EFBFBD>,<2C>-<2D><10><17><17>\<01>-><3E>\<01><18>.<2E>\<01> <0B>Y<EFBFBD>Y<EFBFBD>#<23>$<24><10><17><17>?<3F>3<EFBFBD>?<3F><18>%<25>?<3F> <0B>Z<EFBFBD>Z<EFBFBD>%<25>&<26><10><17><17>@<02>&7<>@<02><18>'<27>@rfr3N)C<>pathlibr<00>datetimer<00>typingr<00>shutilrr<00>django.shortcutsr<00> django.dbr <00> ninja_extrar
r r <00>ninja_extra.permissionsr <00>ninja_jwt.authenticationr<00>apps.user.modelsr<00>utils.chen_paginationr<00>ninja.paginationr<00> ninja.errorsr<00>ninjar<00>utils.chen_responser<00>utils.chen_crudrr<00>apps.project.modelsrrrrrrrrrr r!<00>apps.project.schemas.projectr"r#r$r%r&r'r(r)<00>
utils.utilr*<00>apps.project.tool.timeListr,<00>utils.smallTools.interfaceToolsr-<00>cwdr<64>rr3rZrfrc<00><module>r|s<><00><01><18><19><17>#<23>.<2E>!<21>=<3D>=<3D>3<>,<2C>"<22>.<2E>%<25>"<22><17>,<2C>8<>O<01>O<01>O<01>O<01>V<01>V<01>V<01>#<23>5<>@<40> <11>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27> !<21>
<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>"6<>6<><12><0F>%<25>G<EFBFBD>I<EFBFBD>O<EFBFBD>CT<43>\m<>[n<>o<>R@<02><0E>R@<02>p<01>R@rf