Files
chengshishouce/city-manual/backend/services/__pycache__/models.cpython-312.pyc

14 lines
6.9 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00><><EFBFBD>i<EFBFBD><00><00>R<00>ddlmZddlmZddlmZGd<04>dej <00>Zy)<07>)<01>models)<01>settings)<01>timezonec<00><><00>eZdZdZgd<02>Zgd<03>ZddgZejdd<07><08>Z ejd <09>Z ejd
ejd d <0C> <0A>Zejdde<04><10>Zejddd<13><14>Zejddd<13><14>Zej$dd<13><18>Zejddd<13><14>Zejdd<13><18>Zejej.ejdd<1D> <0A>Zejej.ddej2dd<1F> <20>Zej6d!dd<13>"<22>Zejd#ded$<24>%<25>Zejd&d<13><18>Zejd'ded$<24>%<25>Zej6d(dd<13>"<22>Z ejd)d<13><18>Z!ejd*ded+<2B>%<25>Z"ejFd,d-<2D>.<2E>Z$ejJd/d0d1d-<2D>2<EFBFBD>Z&ejFd3d-<2D>.<2E>Z'ej6d4d<13>5<EFBFBD>Z(ej6d6d<13>7<EFBFBD>Z)Gd8<64>d9<64>Z*d:<3A>Z+d;<3B>Z,dCd<<3C>Z-dCd=<3D>Z.d><3E>Z/dCd?<3F>Z0dCd@<40>Z1dA<64>Z2yB)D<>FeaturedServiceu特色服务表))<02>clothingu衣)<02>foodu食)<02>housingu住)<02>transportationu行)<02> entertainmentu娱乐)<02>tourismu旅游)<02>cultureu文化))<02>pendingu 待审核)<02>approvedu通过)<02>rejectedu拒绝)<02>draftu 未发布)<02> publishedu 已发布u 服务名称<E5908D><E7A7B0>)<01>
max_lengthu 服务描述zregions.Region<6F>featured_servicesu 所属区域)<03> on_delete<74> related_name<6D> verbose_nameu 服务分类<E58886>)r<00>choicesu地址i,T)r<00>blanku 联系方式<E696B9>du网站)ru 价格区间<E58CBA>2u 营业时间<E697B6>submitted_servicesu 提交者<E4BAA4>reviewed_servicesu版主审核人)<05>nullrrrru版主审核时间)r!ru版主审核状态r)rr<00>defaultu版主审核意见uAI 审核状态uAI 审核时间uAI 审核意见u 发布状态ru 浏览次数r)r"u 平均评分<E8AF84><00>)<03>
max_digits<EFBFBD>decimal_placesr"u 评分次数u 创建时间)<01> auto_now_addu 更新时间)<01>auto_nowc<00><00>eZdZdZdZdgZy)<04>FeaturedService.Metau 特色服务z -created_atN)<06>__name__<5F>
__module__<EFBFBD> __qualname__r<00>verbose_name_plural<61>ordering<6E><00><00>@/root/.openclaw/workspace/city-manual/backend/services/models.py<70>Metar*Ss<00><00>%<25> <0C>,<2C><1B>!<21>?<3F>r1r3c<00><00>|jS<00>N)<01>name<6D><01>selfs r2<00>__str__zFeaturedService.__str__Xs <00><00><13>y<EFBFBD>y<EFBFBD>r1c<00>2<00>d|_|j<00>y)u提交版主审核rN)<02>moderator_status<75>saver7s r2<00>submit_for_moderator_reviewz+FeaturedService.submit_for_moderator_review[s<00><00> )<29><04><1D> <0C> <09> <09> r1c<00><><00>||_d|_||_tj<00>|_|j <00>|j<00>y)u版主审核通过rN)<08>moderator_reviewerr;<00>moderator_commentr<00>now<6F>moderator_reviewed_atr<<00>submit_for_ai_review<65>r8<00> moderator<6F>comments r2<00>approve_by_moderatorz$FeaturedService.approve_by_moderator`s=<00><00>"+<2B><04><1F> *<2A><04><1D>!(<28><04><1E>%-<2D>\<5C>\<5C>^<5E><04>"<22> <0C> <09> <09> <0B> <0C>!<21>!<21>#r1c<00><><00>||_d|_||_tj<00>|_d|_|j<00>y)u版主审核拒绝rrN)r?r;r@rrArB<00>publish_statusr<rDs r2<00>reject_by_moderatorz#FeaturedService.reject_by_moderatorjs9<00><00>"+<2B><04><1F> *<2A><04><1D>!(<28><04><1E>%-<2D>\<5C>\<5C>^<5E><04>"<22>%<25><04><1B> <0C> <09> <09> r1c<00>R<00>|jdk(rd|_|j<00>yy)u1提交 AI 审核版主通过后自动调用rrN)r;<00> ai_statusr<r7s r2rCz$FeaturedService.submit_for_ai_reviewss%<00><00> <0F> <20> <20>J<EFBFBD> .<2E>&<26>D<EFBFBD>N<EFBFBD> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD> /r1c<00><><00>d|_||_tj<00>|_d|_|j <00>y)uAI 审核通过rrN<>rL<00>
ai_commentrrA<00>ai_reviewed_atrIr<<00>r8rFs r2<00> approve_by_aizFeaturedService.approve_by_aiys/<00><00>#<23><04><0E>!<21><04><0F>&<26>l<EFBFBD>l<EFBFBD>n<EFBFBD><04><1B>)<29><04><1B> <0C> <09> <09> r1c<00><><00>d|_||_tj<00>|_d|_|j <00>y)uAI 审核拒绝rrNrNrQs r2<00> reject_by_aizFeaturedService.reject_by_ai<61>s/<00><00>#<23><04><0E>!<21><04><0F>&<26>l<EFBFBD>l<EFBFBD>n<EFBFBD><04><1B>%<25><04><1B> <0C> <09> <09> r1c<00><><00>|jj<00>}|j<00>rNtd<01>|D<00><00>|j <00>z |_|j <00>|_|j<00>yy)u更新平均评分c3<00>4K<00>|]}|j<00><01><00>y<00>wr5)<01>score)<02>.0<EFBFBD>rs r2<00> <genexpr>z0FeaturedService.update_rating.<locals>.<genexpr><3E>s<00><00><><00>%?<3F>!<21>a<EFBFBD>g<EFBFBD>g<EFBFBD>%?<3F>s<00>N)<08>ratings<67>all<6C>exists<74>sum<75>count<6E>rating_average<67> rating_countr<)r8r[s r2<00> update_ratingzFeaturedService.update_rating<6E>sX<00><00><16>,<2C>,<2C>"<22>"<22>$<24><07> <12>><3E>><3E> <1B>"%<25>%?<3F>w<EFBFBD>%?<3F>"?<3F>'<27>-<2D>-<2D>/<2F>"Q<>D<EFBFBD> <1F> '<27> <0A> <0A><0F>D<EFBFBD> <1D> <10>I<EFBFBD>I<EFBFBD>K<EFBFBD> r1N)<01>)3r+r,r-<00>__doc__<5F>CATEGORY_CHOICES<45>AUDIT_STATUS_CHOICES<45>PUBLISH_STATUS_CHOICESr<00> CharFieldr6<00> TextField<6C> description<6F>
ForeignKey<EFBFBD>CASCADE<44>region<6F>category<72>address<73>contact<63>URLField<6C>website<74> price_range<67> opening_hoursr<00>AUTH_USER_MODEL<45> submitter<65>SET_NULLr?<00> DateTimeFieldrBr;r@rLrPrOrI<00>PositiveIntegerField<6C>
view_count<EFBFBD> DecimalFieldr`ra<00>
created_at<EFBFBD>
updated_atr3r9r=rGrJrCrRrTrbr0r1r2rrs<><00><00><19><06><14><06><18> <1F>"<22><06><1A>
<1C>6<EFBFBD> <1B> <1B>N<EFBFBD>s<EFBFBD> ;<3B>D<EFBFBD>"<22>&<26>"<22>"<22>><3E>2<>K<EFBFBD> <1E>V<EFBFBD> <1E> <1E><18><18>.<2E>.<2E>(<28>#<23> <06>F<EFBFBD>  <20>v<EFBFBD><1F><1F><0E>2<EFBFBD>GW<47>X<>H<EFBFBD><1F>f<EFBFBD><1E><1E>x<EFBFBD>C<EFBFBD>t<EFBFBD>D<>G<EFBFBD><1E>f<EFBFBD><1E><1E>~<7E>#<23>T<EFBFBD>J<>G<EFBFBD><1D>f<EFBFBD>o<EFBFBD>o<EFBFBD>h<EFBFBD>d<EFBFBD>3<>G<EFBFBD>"<22>&<26>"<22>"<22>><3E>b<EFBFBD><04>M<>K<EFBFBD>$<24>F<EFBFBD>$<24>$<24>^<5E>4<EFBFBD>@<40>M<EFBFBD>"<22><06>!<21>!<21><10> <20> <20><18>.<2E>.<2E>)<29> <20> <06>I<EFBFBD>+<2B><16>*<2A>*<2A><10> <20> <20> <11><12><18>/<2F>/<2F>(<28>&<26> <06><16>1<>F<EFBFBD>0<>0<>1E<31>D<EFBFBD>X\<5C>]<5D><19>'<27>v<EFBFBD>'<27>'<27>(<<3C><12>Ui<55>s|<7C>}<7D><14>(<28><06>(<28>(<28>)=<3D>T<EFBFBD>J<><15>!<21><06> <20> <20>!2<>r<EFBFBD>K_<4B>ir<69>s<>I<EFBFBD>)<29>V<EFBFBD>)<29>)<29>*;<3B>$<24>d<EFBFBD>S<>N<EFBFBD>!<21><16>!<21>!<21>"3<>4<EFBFBD>@<40>J<EFBFBD>&<26>V<EFBFBD>%<25>%<25>n<EFBFBD><12>Mc<4D>mt<6D>u<>N<EFBFBD>-<2D><16>,<2C>,<2C>^<5E>Q<EFBFBD>G<>J<EFBFBD>(<28>V<EFBFBD>(<28>(<28><1E>A<EFBFBD>VW<56>ab<61>c<>N<EFBFBD>.<2E>6<EFBFBD>.<2E>.<2E>~<7E>q<EFBFBD>I<>L<EFBFBD>%<25><16>%<25>%<25>n<EFBFBD>4<EFBFBD>H<>J<EFBFBD>%<25><16>%<25>%<25>n<EFBFBD>t<EFBFBD>D<>J<EFBFBD>#<23>#<23>
<19><14>
$<24><14><18> <14><14>r1rN)<08> django.dbr<00> django.confr<00> django.utilsr<00>Modelrr0r1r2<00><module>r<>s <00><01><1C> <20>!<21>I<18>f<EFBFBD>l<EFBFBD>l<EFBFBD>Ir1