Best JavaScript code snippet using playwright-internal
0002_auto_20200211_1535.py
Source:0002_auto_20200211_1535.py
1# Generated by Django 2.2.4 on 2020-02-11 07:362from django.db import migrations3class Migration(migrations.Migration):4 dependencies = [5 ('recorder', '0001_initial'),6 ]7 operations = [8 migrations.DeleteModel(9 name='Apachelog',10 ),11 migrations.DeleteModel(12 name='ChengdeTemp',13 ),14 migrations.DeleteModel(15 name='CorrectIndustry',16 ),17 migrations.DeleteModel(18 name='Customertag',19 ),20 migrations.DeleteModel(21 name='EsLog',22 ),23 migrations.DeleteModel(24 name='EsLog06',25 ),26 migrations.DeleteModel(27 name='EsLog1317',28 ),29 migrations.DeleteModel(30 name='EsLog2024',31 ),32 migrations.DeleteModel(33 name='EsLog501',34 ),35 migrations.DeleteModel(36 name='EsLog502',37 ),38 migrations.DeleteModel(39 name='EsLog503',40 ),41 migrations.DeleteModel(42 name='EsLog504',43 ),44 migrations.DeleteModel(45 name='EsLog505',46 ),47 migrations.DeleteModel(48 name='EsLog506',49 ),50 migrations.DeleteModel(51 name='EsLog507',52 ),53 migrations.DeleteModel(54 name='EsLog508',55 ),56 migrations.DeleteModel(57 name='EsLog509',58 ),59 migrations.DeleteModel(60 name='EsLog510',61 ),62 migrations.DeleteModel(63 name='EsLog511',64 ),65 migrations.DeleteModel(66 name='EsLog512',67 ),68 migrations.DeleteModel(69 name='EsLog518',70 ),71 migrations.DeleteModel(72 name='EsLog519',73 ),74 migrations.DeleteModel(75 name='EsLog523',76 ),77 migrations.DeleteModel(78 name='EsLog524',79 ),80 migrations.DeleteModel(81 name='EsLog525',82 ),83 migrations.DeleteModel(84 name='EsLog526',85 ),86 migrations.DeleteModel(87 name='EsLog527',88 ),89 migrations.DeleteModel(90 name='EsLog528',91 ),92 migrations.DeleteModel(93 name='EsLog529',94 ),95 migrations.DeleteModel(96 name='EsLog530',97 ),98 migrations.DeleteModel(99 name='EsLog601',100 ),101 migrations.DeleteModel(102 name='EsLog602',103 ),104 migrations.DeleteModel(105 name='EsLog603',106 ),107 migrations.DeleteModel(108 name='EsLog604',109 ),110 migrations.DeleteModel(111 name='EsLog61014',112 ),113 migrations.DeleteModel(114 name='EsLogTest',115 ),116 migrations.DeleteModel(117 name='EsLogWechat',118 ),119 migrations.DeleteModel(120 name='ExportCount',121 ),122 migrations.DeleteModel(123 name='InsertTest',124 ),125 migrations.DeleteModel(126 name='JavaCopylinkLog',127 ),128 migrations.DeleteModel(129 name='JavalogGetDj2Xq',130 ),131 migrations.DeleteModel(132 name='JavalogGetDjxq',133 ),134 migrations.DeleteModel(135 name='JavalogGetDodeletexx',136 ),137 migrations.DeleteModel(138 name='JavalogGetJbxq',139 ),140 migrations.DeleteModel(141 name='JavalogGetJzxx',142 ),143 migrations.DeleteModel(144 name='JavalogGetMyattionxq',145 ),146 migrations.DeleteModel(147 name='JavalogGetNegativexq',148 ),149 migrations.DeleteModel(150 name='JavalogGetYjxq',151 ),152 migrations.DeleteModel(153 name='JavalogGetZgxx',154 ),155 migrations.DeleteModel(156 name='JavalogManualWarning',157 ),158 migrations.DeleteModel(159 name='JavalogManWarning',160 ),161 migrations.DeleteModel(162 name='LogTmp',163 ),164 migrations.DeleteModel(165 name='Manwarning0603',166 ),167 migrations.DeleteModel(168 name='ModAccess',169 ),170 migrations.DeleteModel(171 name='ModAccessCount',172 ),173 migrations.DeleteModel(174 name='ModAccessCount0112',175 ),176 migrations.DeleteModel(177 name='ModAccessCount1317',178 ),179 migrations.DeleteModel(180 name='ModAccessCount1819',181 ),182 migrations.DeleteModel(183 name='ModAccessCount2023',184 ),185 migrations.DeleteModel(186 name='ModAccessCount2325',187 ),188 migrations.DeleteModel(189 name='ModAccessCount2628',190 ),191 migrations.DeleteModel(192 name='ModAccessCount2930',193 ),194 migrations.DeleteModel(195 name='ModAccessCountL20105',196 ),197 migrations.DeleteModel(198 name='ModAccessCountL20608',199 ),200 migrations.DeleteModel(201 name='ModAccessCountL20912',202 ),203 migrations.DeleteModel(204 name='ModAccessCountL21317',205 ),206 migrations.DeleteModel(207 name='ModAccessCountL21819',208 ),209 migrations.DeleteModel(210 name='ModAccessCountL22023',211 ),212 migrations.DeleteModel(213 name='ModAccessCountL22325',214 ),215 migrations.DeleteModel(216 name='ModAccessCountL22628',217 ),218 migrations.DeleteModel(219 name='ModAccessCountL22730',220 ),221 migrations.DeleteModel(222 name='ModAccessCountL22730Industry',223 ),224 migrations.DeleteModel(225 name='ModAccessCountL22930',226 ),227 migrations.DeleteModel(228 name='ModAccessL2',229 ),230 migrations.DeleteModel(231 name='MyAttention',232 ),233 migrations.DeleteModel(234 name='OnekeySource',235 ),236 migrations.DeleteModel(237 name='TsgzLog',238 ),239 migrations.DeleteModel(240 name='UniversitiesInfo',241 ),242 migrations.DeleteModel(243 name='UserAccessSteps',244 ),245 migrations.DeleteModel(246 name='UserBehaviorAnalysis',247 ),248 migrations.DeleteModel(249 name='UserOperationBehavior',250 ),251 migrations.DeleteModel(252 name='UserOperationBehavior20190329',253 ),254 migrations.DeleteModel(255 name='UserOperationBehavior20190330',256 ),257 migrations.DeleteModel(258 name='UserOperationBehavior20190401',259 ),260 migrations.DeleteModel(261 name='UserOperationBehavior20190402',262 ),263 migrations.DeleteModel(264 name='UserOperationBehavior20190403',265 ),266 migrations.DeleteModel(267 name='UserOperationBehavior20190404',268 ),269 migrations.DeleteModel(270 name='UserOperationBehavior20190405',271 ),272 migrations.DeleteModel(273 name='UserOperationBehavior20190406',274 ),275 migrations.DeleteModel(276 name='UserOperationBehavior20190407',277 ),278 migrations.DeleteModel(279 name='UserOperationBehavior20190408',280 ),281 migrations.DeleteModel(282 name='UserOperationBehavior20190409',283 ),284 migrations.DeleteModel(285 name='UserOperationBehavior20190410',286 ),287 migrations.DeleteModel(288 name='UserOperationBehavior20190411',289 ),290 migrations.DeleteModel(291 name='UserOperationBehavior20190412',292 ),293 migrations.DeleteModel(294 name='UserOperationBehavior20190413',295 ),296 migrations.DeleteModel(297 name='UserOperationBehavior20190414',298 ),299 migrations.DeleteModel(300 name='UserOperationBehavior20190415',301 ),302 migrations.DeleteModel(303 name='UserOperationBehavior20190416',304 ),305 migrations.DeleteModel(306 name='UserOperationBehavior20190417',307 ),308 migrations.DeleteModel(309 name='UserOperationBehavior20190418',310 ),311 migrations.DeleteModel(312 name='UserOperationBehavior20190419',313 ),314 migrations.DeleteModel(315 name='UserOperationBehavior20190420',316 ),317 migrations.DeleteModel(318 name='UserOperationBehavior20190421',319 ),320 migrations.DeleteModel(321 name='UserOperationBehavior20190422',322 ),323 migrations.DeleteModel(324 name='UserOperationBehavior20190423',325 ),326 migrations.DeleteModel(327 name='UserOperationBehavior20190424',328 ),329 migrations.DeleteModel(330 name='UserOperationBehavior20190425',331 ),332 migrations.DeleteModel(333 name='UserOperationBehavior20190426',334 ),335 migrations.DeleteModel(336 name='UserOperationBehavior20190427',337 ),338 migrations.DeleteModel(339 name='UserOperationBehavior20190428',340 ),341 migrations.DeleteModel(342 name='UserOperationBehavior20190429',343 ),344 migrations.DeleteModel(345 name='UserOperationBehavior20190430',346 ),347 migrations.DeleteModel(348 name='UserOperationBehavior20190501',349 ),350 migrations.DeleteModel(351 name='UserOperationBehavior20190502',352 ),353 migrations.DeleteModel(354 name='UserOperationBehavior20190503',355 ),356 migrations.DeleteModel(357 name='UserOperationBehavior20190504',358 ),359 migrations.DeleteModel(360 name='UserOperationBehavior20190505',361 ),362 migrations.DeleteModel(363 name='UserOperationBehavior20190506',364 ),365 migrations.DeleteModel(366 name='UserOperationBehavior20190507',367 ),368 migrations.DeleteModel(369 name='UserOperationBehavior20190508',370 ),371 migrations.DeleteModel(372 name='UserOperationBehavior20190509',373 ),374 migrations.DeleteModel(375 name='UserOperationBehavior20190510',376 ),377 migrations.DeleteModel(378 name='UserOperationBehavior20190511',379 ),380 migrations.DeleteModel(381 name='UserOperationBehavior20190512',382 ),383 migrations.DeleteModel(384 name='UserOperationBehavior20190513',385 ),386 migrations.DeleteModel(387 name='UserOperationBehavior20190514',388 ),389 migrations.DeleteModel(390 name='UserOperationBehavior20190515',391 ),392 migrations.DeleteModel(393 name='UserOperationBehavior20190516',394 ),395 migrations.DeleteModel(396 name='UserOperationBehavior20190517',397 ),398 migrations.DeleteModel(399 name='UserOperationBehavior20190518',400 ),401 migrations.DeleteModel(402 name='UserOperationBehavior20190519',403 ),404 migrations.DeleteModel(405 name='UserOperationBehavior20190520',406 ),407 migrations.DeleteModel(408 name='UserOperationBehavior20190521',409 ),410 migrations.DeleteModel(411 name='UserOperationBehavior20190522',412 ),413 migrations.DeleteModel(414 name='UserOperationBehavior20190523',415 ),416 migrations.DeleteModel(417 name='UserOperationBehavior20190524',418 ),419 migrations.DeleteModel(420 name='UserOperationBehavior20190525',421 ),422 migrations.DeleteModel(423 name='UserOperationBehavior20190526',424 ),425 migrations.DeleteModel(426 name='UserOperationBehavior20190527',427 ),428 migrations.DeleteModel(429 name='UserOperationBehavior20190528',430 ),431 migrations.DeleteModel(432 name='UserOperationBehavior20190529',433 ),434 migrations.DeleteModel(435 name='UserOperationBehavior20190530',436 ),437 migrations.DeleteModel(438 name='UserOperationBehavior20190531',439 ),440 migrations.DeleteModel(441 name='UserOperationBehavior20190601',442 ),443 migrations.DeleteModel(444 name='UserOperationBehavior20190602',445 ),446 migrations.DeleteModel(447 name='UserOperationBehavior20190603',448 ),449 migrations.DeleteModel(450 name='UserOperationBehavior20190604',451 ),452 migrations.DeleteModel(453 name='UserOperationBehavior20190605',454 ),455 migrations.DeleteModel(456 name='UserOperationBehavior20190606',457 ),458 migrations.DeleteModel(459 name='UserOperationBehavior20190607',460 ),461 migrations.DeleteModel(462 name='UserOperationBehavior20190608',463 ),464 migrations.DeleteModel(465 name='UserOperationBehavior20190609',466 ),467 migrations.DeleteModel(468 name='UserOperationBehavior20190610',469 ),470 migrations.DeleteModel(471 name='UserOperationBehavior20190611',472 ),473 migrations.DeleteModel(474 name='UserOperationBehavior20190612',475 ),476 migrations.DeleteModel(477 name='UserOperationBehavior20190613',478 ),479 migrations.DeleteModel(480 name='UserOperationBehavior20190614',481 ),482 migrations.DeleteModel(483 name='UserOperationBehavior20190615',484 ),485 migrations.DeleteModel(486 name='UserOperationBehavior20190616',487 ),488 migrations.DeleteModel(489 name='UserOperationBehavior20190617',490 ),491 migrations.DeleteModel(492 name='UserOperationBehavior20190618',493 ),494 migrations.DeleteModel(495 name='UserOperationBehavior20190619',496 ),497 migrations.DeleteModel(498 name='UserOperationBehavior20190620',499 ),500 migrations.DeleteModel(501 name='UserOperationBehavior20190621',502 ),503 migrations.DeleteModel(504 name='UserOperationBehavior20190622',505 ),506 migrations.DeleteModel(507 name='UserOperationBehavior20190623',508 ),509 migrations.DeleteModel(510 name='UserOperationBehavior20190624',511 ),512 migrations.DeleteModel(513 name='UserOperationBehavior20190625',514 ),515 migrations.DeleteModel(516 name='UserOperationBehavior20190626',517 ),518 migrations.DeleteModel(519 name='UserOperationBehavior20190627',520 ),521 migrations.DeleteModel(522 name='UserOperationBehavior20190628',523 ),524 migrations.DeleteModel(525 name='UserOperationBehavior20190629',526 ),527 migrations.DeleteModel(528 name='UserOperationBehavior20190630',529 ),530 migrations.DeleteModel(531 name='UserOperationBehavior20190701',532 ),533 migrations.DeleteModel(534 name='UserOperationBehavior20190702',535 ),536 migrations.DeleteModel(537 name='UserOperationBehavior20190703',538 ),539 migrations.DeleteModel(540 name='UserOperationBehavior20190704',541 ),542 migrations.DeleteModel(543 name='UserOperationBehavior20190705',544 ),545 migrations.DeleteModel(546 name='UserOperationBehavior20190706',547 ),548 migrations.DeleteModel(549 name='UserOperationBehavior20190707',550 ),551 migrations.DeleteModel(552 name='UserOperationBehavior20190708',553 ),554 migrations.DeleteModel(555 name='UserOperationBehavior20190709',556 ),557 migrations.DeleteModel(558 name='UserOperationBehavior20190710',559 ),560 migrations.DeleteModel(561 name='UserOperationBehavior20190711',562 ),563 migrations.DeleteModel(564 name='UserOperationBehavior20190712',565 ),566 migrations.DeleteModel(567 name='UserOperationBehavior20190713',568 ),569 migrations.DeleteModel(570 name='UserOperationBehavior20190714',571 ),572 migrations.DeleteModel(573 name='UserOperationBehavior20190715',574 ),575 migrations.DeleteModel(576 name='UserOperationBehavior20190716',577 ),578 migrations.DeleteModel(579 name='UserOperationBehavior20190717',580 ),581 migrations.DeleteModel(582 name='UserOperationBehavior20190718',583 ),584 migrations.DeleteModel(585 name='UserOperationBehavior20190719',586 ),587 migrations.DeleteModel(588 name='UserOperationBehavior20190720',589 ),590 migrations.DeleteModel(591 name='UserOperationBehavior20190721',592 ),593 migrations.DeleteModel(594 name='UserOperationBehavior20190722',595 ),596 migrations.DeleteModel(597 name='UserOperationBehavior20190723',598 ),599 migrations.DeleteModel(600 name='UserOperationBehavior20190724',601 ),602 migrations.DeleteModel(603 name='UserOperationBehavior20190725',604 ),605 migrations.DeleteModel(606 name='UserOperationBehavior20190726',607 ),608 migrations.DeleteModel(609 name='UserOperationBehavior20190727',610 ),611 migrations.DeleteModel(612 name='UserOperationBehavior20190728',613 ),614 migrations.DeleteModel(615 name='UserOperationBehavior20190729',616 ),617 migrations.DeleteModel(618 name='UserOperationBehavior20190730',619 ),620 migrations.DeleteModel(621 name='UserOperationBehavior20190731',622 ),623 migrations.DeleteModel(624 name='UserOperationBehavior20190801',625 ),626 migrations.DeleteModel(627 name='UserOperationBehavior20190802',628 ),629 migrations.DeleteModel(630 name='UserOperationBehavior20190803',631 ),632 migrations.DeleteModel(633 name='UserOperationBehavior20190804',634 ),635 migrations.DeleteModel(636 name='UserOperationBehavior20190805',637 ),638 migrations.DeleteModel(639 name='UserOperationBehavior20190806',640 ),641 migrations.DeleteModel(642 name='UserOperationBehavior20190807',643 ),644 migrations.DeleteModel(645 name='UserOperationBehavior20190808',646 ),647 migrations.DeleteModel(648 name='UserOperationBehavior20190809',649 ),650 migrations.DeleteModel(651 name='UserOperationBehavior20190810',652 ),653 migrations.DeleteModel(654 name='UserOperationBehavior20190811',655 ),656 migrations.DeleteModel(657 name='UserOperationBehavior20190812',658 ),659 migrations.DeleteModel(660 name='UserOperationBehavior20190813',661 ),662 migrations.DeleteModel(663 name='UserOperationBehavior20190814',664 ),665 migrations.DeleteModel(666 name='UserOperationBehavior20190815',667 ),668 migrations.DeleteModel(669 name='UserOperationBehavior20190816',670 ),671 migrations.DeleteModel(672 name='UserOperationBehavior20190817',673 ),674 migrations.DeleteModel(675 name='UserOperationBehavior20190818',676 ),677 migrations.DeleteModel(678 name='UserOperationBehavior20190819',679 ),680 migrations.DeleteModel(681 name='UserOperationBehavior20190820',682 ),683 migrations.DeleteModel(684 name='UserOperationBehavior20190821',685 ),686 migrations.DeleteModel(687 name='UserOperationBehavior20190822',688 ),689 migrations.DeleteModel(690 name='UserOperationBehavior20190823',691 ),692 migrations.DeleteModel(693 name='UserOperationBehavior20190824',694 ),695 migrations.DeleteModel(696 name='UserOperationBehavior20190825',697 ),698 migrations.DeleteModel(699 name='UserOperationBehavior20190826',700 ),701 migrations.DeleteModel(702 name='UserOperationBehavior20190827',703 ),704 migrations.DeleteModel(705 name='UserOperationBehavior20190828',706 ),707 migrations.DeleteModel(708 name='UserOperationBehavior20190829',709 ),710 migrations.DeleteModel(711 name='UserOperationBehavior20190830',712 ),713 migrations.DeleteModel(714 name='UserOperationBehavior20190831',715 ),716 migrations.DeleteModel(717 name='UserOperationBehavior20190901',718 ),719 migrations.DeleteModel(720 name='UserOperationBehavior20190902',721 ),722 migrations.DeleteModel(723 name='UserOperationBehavior20190903',724 ),725 migrations.DeleteModel(726 name='UserOperationBehavior20190904',727 ),728 migrations.DeleteModel(729 name='UserOperationBehavior20190905',730 ),731 migrations.DeleteModel(732 name='UserOperationBehavior20190906',733 ),734 migrations.DeleteModel(735 name='UserOperationBehavior20190907',736 ),737 migrations.DeleteModel(738 name='UserOperationBehavior20190908',739 ),740 migrations.DeleteModel(741 name='UserOperationBehavior20190909',742 ),743 migrations.DeleteModel(744 name='UserOperationBehavior20190910',745 ),746 migrations.DeleteModel(747 name='UserOperationBehavior20190911',748 ),749 migrations.DeleteModel(750 name='UserOperationBehavior20190912',751 ),752 migrations.DeleteModel(753 name='UserOperationBehavior20190913',754 ),755 migrations.DeleteModel(756 name='UserOperationBehavior20190914',757 ),758 migrations.DeleteModel(759 name='UserOperationBehavior20190915',760 ),761 migrations.DeleteModel(762 name='UserOperationBehavior20190916',763 ),764 migrations.DeleteModel(765 name='UserOperationBehavior20190917',766 ),767 migrations.DeleteModel(768 name='UserOperationBehavior20190918',769 ),770 migrations.DeleteModel(771 name='UserOperationBehavior20190919',772 ),773 migrations.DeleteModel(774 name='UserOperationBehavior20190920',775 ),776 migrations.DeleteModel(777 name='UserOperationBehavior20190921',778 ),779 migrations.DeleteModel(780 name='UserOperationBehavior20190922',781 ),782 migrations.DeleteModel(783 name='UserOperationBehavior20190923',784 ),785 migrations.DeleteModel(786 name='UserOperationBehavior20190924',787 ),788 migrations.DeleteModel(789 name='UserOperationBehavior20190925',790 ),791 migrations.DeleteModel(792 name='UserOperationBehavior20190926',793 ),794 migrations.DeleteModel(795 name='UserOperationBehavior20190927',796 ),797 migrations.DeleteModel(798 name='UserOperationBehavior20190928',799 ),800 migrations.DeleteModel(801 name='UserOperationBehavior20190929',802 ),803 migrations.DeleteModel(804 name='UserOperationBehavior20190930',805 ),806 migrations.DeleteModel(807 name='UserOperationBehavior20191001',808 ),809 migrations.DeleteModel(810 name='UserOperationBehavior20191002',811 ),812 migrations.DeleteModel(813 name='UserOperationBehavior20191003',814 ),815 migrations.DeleteModel(816 name='UserOperationBehavior20191004',817 ),818 migrations.DeleteModel(819 name='UserOperationBehavior20191005',820 ),821 migrations.DeleteModel(822 name='UserOperationBehavior20191006',823 ),824 migrations.DeleteModel(825 name='UserOperationBehavior20191007',826 ),827 migrations.DeleteModel(828 name='UserOperationBehavior20191008',829 ),830 migrations.DeleteModel(831 name='UserOperationBehavior20191009',832 ),833 migrations.DeleteModel(834 name='UserOperationBehavior20191010',835 ),836 migrations.DeleteModel(837 name='UserOperationBehavior20191011',838 ),839 migrations.DeleteModel(840 name='UserOperationBehavior20191012',841 ),842 migrations.DeleteModel(843 name='UserOperationBehavior20191013',844 ),845 migrations.DeleteModel(846 name='UserOperationBehavior20191014',847 ),848 migrations.DeleteModel(849 name='UserOperationBehavior20191015',850 ),851 migrations.DeleteModel(852 name='UserOperationBehavior20191016',853 ),854 migrations.DeleteModel(855 name='UserOperationBehavior20191017',856 ),857 migrations.DeleteModel(858 name='UserOperationBehavior20191018',859 ),860 migrations.DeleteModel(861 name='UserOperationBehavior20191019',862 ),863 migrations.DeleteModel(864 name='UserOperationBehavior20191020',865 ),866 migrations.DeleteModel(867 name='UserOperationBehavior20191021',868 ),869 migrations.DeleteModel(870 name='UserOperationBehavior20191022',871 ),872 migrations.DeleteModel(873 name='UserOperationBehavior20191023',874 ),875 migrations.DeleteModel(876 name='UserOperationBehavior20191024',877 ),878 migrations.DeleteModel(879 name='UserOperationBehavior20191025',880 ),881 migrations.DeleteModel(882 name='UserOperationBehavior20191026',883 ),884 migrations.DeleteModel(885 name='UserOperationBehavior20191027',886 ),887 migrations.DeleteModel(888 name='UserOperationBehavior20191028',889 ),890 migrations.DeleteModel(891 name='UserOperationBehavior20191029',892 ),893 migrations.DeleteModel(894 name='UserOperationBehavior20191030',895 ),896 migrations.DeleteModel(897 name='UserOperationBehavior20191031',898 ),899 migrations.DeleteModel(900 name='UserOperationBehavior20191101',901 ),902 migrations.DeleteModel(903 name='UserOperationBehavior20191102',904 ),905 migrations.DeleteModel(906 name='UserOperationBehavior20191103',907 ),908 migrations.DeleteModel(909 name='UserOperationBehavior20191104',910 ),911 migrations.DeleteModel(912 name='UserOperationBehavior20191105',913 ),914 migrations.DeleteModel(915 name='UserOperationBehavior20191106',916 ),917 migrations.DeleteModel(918 name='UserOperationBehavior20191107',919 ),920 migrations.DeleteModel(921 name='UserOperationBehavior20191108',922 ),923 migrations.DeleteModel(924 name='UserOperationBehavior20191109',925 ),926 migrations.DeleteModel(927 name='UserOperationBehavior20191110',928 ),929 migrations.DeleteModel(930 name='UserOperationBehavior20191111',931 ),932 migrations.DeleteModel(933 name='UserOperationBehavior20191112',934 ),935 migrations.DeleteModel(936 name='UserOperationBehavior20191113',937 ),938 migrations.DeleteModel(939 name='UserOperationBehavior20191114',940 ),941 migrations.DeleteModel(942 name='UserOperationBehavior20191115',943 ),944 migrations.DeleteModel(945 name='UserOperationBehavior20191116',946 ),947 migrations.DeleteModel(948 name='UserOperationBehavior20191117',949 ),950 migrations.DeleteModel(951 name='UserOperationBehavior20191118',952 ),953 migrations.DeleteModel(954 name='UserOperationBehavior20191119',955 ),956 migrations.DeleteModel(957 name='UserOperationBehavior20191120',958 ),959 migrations.DeleteModel(960 name='UserOperationBehavior20191121',961 ),962 migrations.DeleteModel(963 name='UserOperationBehavior20191122',964 ),965 migrations.DeleteModel(966 name='UserOperationBehavior20191123',967 ),968 migrations.DeleteModel(969 name='UserOperationBehavior20191124',970 ),971 migrations.DeleteModel(972 name='UserOperationBehavior20191125',973 ),974 migrations.DeleteModel(975 name='UserOperationBehavior20191126',976 ),977 migrations.DeleteModel(978 name='UserOperationBehavior20191127',979 ),980 migrations.DeleteModel(981 name='UserOperationBehavior20191128',982 ),983 migrations.DeleteModel(984 name='UserOperationBehavior20191129',985 ),986 migrations.DeleteModel(987 name='UserOperationBehavior20191130',988 ),989 migrations.DeleteModel(990 name='UserOperationBehavior20191201',991 ),992 migrations.DeleteModel(993 name='UserOperationBehavior20191202',994 ),995 migrations.DeleteModel(996 name='UserOperationBehavior20191203',997 ),998 migrations.DeleteModel(999 name='UserOperationBehavior20191204',1000 ),1001 migrations.DeleteModel(1002 name='UserOperationBehavior20191205',1003 ),1004 migrations.DeleteModel(1005 name='UserOperationBehavior20191206',1006 ),1007 migrations.DeleteModel(1008 name='UserOperationBehavior20191207',1009 ),1010 migrations.DeleteModel(1011 name='UserOperationBehavior20191208',1012 ),1013 migrations.DeleteModel(1014 name='UserOperationBehavior20191209',1015 ),1016 migrations.DeleteModel(1017 name='UserOperationBehavior20191210',1018 ),1019 migrations.DeleteModel(1020 name='UserOperationBehavior20191211',1021 ),1022 migrations.DeleteModel(1023 name='UserOperationBehavior20191212',1024 ),1025 migrations.DeleteModel(1026 name='UserOperationBehavior20191213',1027 ),1028 migrations.DeleteModel(1029 name='UserOperationBehavior20191214',1030 ),1031 migrations.DeleteModel(1032 name='UserOperationBehavior20191215',1033 ),1034 migrations.DeleteModel(1035 name='UserOperationBehavior20191216',1036 ),1037 migrations.DeleteModel(1038 name='UserOperationBehavior20191217',1039 ),1040 migrations.DeleteModel(1041 name='UserOperationBehavior20191218',1042 ),1043 migrations.DeleteModel(1044 name='UserOperationBehavior20191219',1045 ),1046 migrations.DeleteModel(1047 name='UserOperationBehavior20191220',1048 ),1049 migrations.DeleteModel(1050 name='UserOperationBehavior20191221',1051 ),1052 migrations.DeleteModel(1053 name='UserOperationBehavior20191222',1054 ),1055 migrations.DeleteModel(1056 name='UserOperationBehavior20191223',1057 ),1058 migrations.DeleteModel(1059 name='UserOperationBehavior20191224',1060 ),1061 migrations.DeleteModel(1062 name='UserOperationBehavior20191225',1063 ),1064 migrations.DeleteModel(1065 name='UserOperationBehavior20191226',1066 ),1067 migrations.DeleteModel(1068 name='UserOperationBehavior20191227',1069 ),1070 migrations.DeleteModel(1071 name='UserOperationBehavior20191228',1072 ),1073 migrations.DeleteModel(1074 name='UserOperationBehavior20191229',1075 ),1076 migrations.DeleteModel(1077 name='UserOperationBehavior20191230',1078 ),1079 migrations.DeleteModel(1080 name='UserOperationBehavior20191231',1081 ),1082 migrations.DeleteModel(1083 name='UserOperationBehavior20200101',1084 ),1085 migrations.DeleteModel(1086 name='UserOperationBehavior20200102',1087 ),1088 migrations.DeleteModel(1089 name='UserOperationBehavior20200103',1090 ),1091 migrations.DeleteModel(1092 name='UserOperationBehavior20200104',1093 ),1094 migrations.DeleteModel(1095 name='UserOperationBehavior20200105',1096 ),1097 migrations.DeleteModel(1098 name='UserOperationBehavior20200106',1099 ),1100 migrations.DeleteModel(1101 name='UserOperationBehavior20200107',1102 ),1103 migrations.DeleteModel(1104 name='WarningCount',1105 ),1106 migrations.DeleteModel(1107 name='WarningCount1721',1108 ),1109 migrations.DeleteModel(1110 name='WarningCount7812',1111 ),1112 migrations.DeleteModel(1113 name='Warningsetlog',1114 ),1115 migrations.DeleteModel(1116 name='WarningUrlCount',1117 ),1118 migrations.DeleteModel(1119 name='WarningUrlCountAlltypes',1120 ),1121 migrations.DeleteModel(1122 name='WarningUrlCountAlltypes1721',1123 ),1124 migrations.DeleteModel(1125 name='WarningUserCount',1126 ),1127 migrations.DeleteModel(1128 name='WarningUserCount1721',1129 ),1130 migrations.DeleteModel(1131 name='WarningUserCount7812',1132 ),1133 migrations.DeleteModel(1134 name='WkTCopylog',1135 ),1136 migrations.DeleteModel(1137 name='WkTExpertlog20190101',1138 ),1139 migrations.DeleteModel(1140 name='WkTExpertlog20190102',1141 ),1142 migrations.DeleteModel(1143 name='WkTExpertlog20190103',1144 ),1145 migrations.DeleteModel(1146 name='WkTExpertlog20190104',1147 ),1148 migrations.DeleteModel(1149 name='WkTExpertlog20190105',1150 ),1151 migrations.DeleteModel(1152 name='WkTExpertlog20190106',1153 ),1154 migrations.DeleteModel(1155 name='WkTExpertlog20190107',1156 ),1157 migrations.DeleteModel(1158 name='WkTExpertlog20190108',1159 ),1160 migrations.DeleteModel(1161 name='WkTExpertlog20190109',1162 ),1163 migrations.DeleteModel(1164 name='WkTExpertlog20190110',1165 ),1166 migrations.DeleteModel(1167 name='WkTExpertlog20190111',1168 ),1169 migrations.DeleteModel(1170 name='WkTExpertlog20190112',1171 ),1172 migrations.DeleteModel(1173 name='WkTExpertlog20190113',1174 ),1175 migrations.DeleteModel(1176 name='WkTExpertlog20190114',1177 ),1178 migrations.DeleteModel(1179 name='WkTExpertlog20190115',1180 ),1181 migrations.DeleteModel(1182 name='WkTExpertlog20190116',1183 ),1184 migrations.DeleteModel(1185 name='WkTExpertlog20190117',1186 ),1187 migrations.DeleteModel(1188 name='WkTExpertlog20190118',1189 ),1190 migrations.DeleteModel(1191 name='WkTExpertlog20190119',1192 ),1193 migrations.DeleteModel(1194 name='WkTExpertlog20190120',1195 ),1196 migrations.DeleteModel(1197 name='WkTExpertlog20190121',1198 ),1199 migrations.DeleteModel(1200 name='WkTExpertlog20190122',1201 ),1202 migrations.DeleteModel(1203 name='WkTExpertlog20190123',1204 ),1205 migrations.DeleteModel(1206 name='WkTExpertlog20190124',1207 ),1208 migrations.DeleteModel(1209 name='WkTExpertlog20190125',1210 ),1211 migrations.DeleteModel(1212 name='WkTExpertlog20190126',1213 ),1214 migrations.DeleteModel(1215 name='WkTExpertlog20190127',1216 ),1217 migrations.DeleteModel(1218 name='WkTExpertlog20190128',1219 ),1220 migrations.DeleteModel(1221 name='WkTExpertlog20190129',1222 ),1223 migrations.DeleteModel(1224 name='WkTExpertlog20190130',1225 ),1226 migrations.DeleteModel(1227 name='WkTExpertlog20190131',1228 ),1229 migrations.DeleteModel(1230 name='WkTExpertlog20190201',1231 ),1232 migrations.DeleteModel(1233 name='WkTExpertlog20190202',1234 ),1235 migrations.DeleteModel(1236 name='WkTExpertlog20190203',1237 ),1238 migrations.DeleteModel(1239 name='WkTExpertlog20190204',1240 ),1241 migrations.DeleteModel(1242 name='WkTExpertlog20190205',1243 ),1244 migrations.DeleteModel(1245 name='WkTExpertlog20190206',1246 ),1247 migrations.DeleteModel(1248 name='WkTExpertlog20190207',1249 ),1250 migrations.DeleteModel(1251 name='WkTExpertlog20190208',1252 ),1253 migrations.DeleteModel(1254 name='WkTExpertlog20190209',1255 ),1256 migrations.DeleteModel(1257 name='WkTExpertlog20190210',1258 ),1259 migrations.DeleteModel(1260 name='WkTExpertlog20190211',1261 ),1262 migrations.DeleteModel(1263 name='WkTExpertlog20190212',1264 ),1265 migrations.DeleteModel(1266 name='WkTExpertlog20190213',1267 ),1268 migrations.DeleteModel(1269 name='WkTExpertlog20190214',1270 ),1271 migrations.DeleteModel(1272 name='WkTExpertlog20190215',1273 ),1274 migrations.DeleteModel(1275 name='WkTExpertlog20190216',1276 ),1277 migrations.DeleteModel(1278 name='WkTExpertlog20190217',1279 ),1280 migrations.DeleteModel(1281 name='WkTExpertlog20190218',1282 ),1283 migrations.DeleteModel(1284 name='WkTExpertlog20190219',1285 ),1286 migrations.DeleteModel(1287 name='WkTExpertlog20190220',1288 ),1289 migrations.DeleteModel(1290 name='WkTExpertlog20190221',1291 ),1292 migrations.DeleteModel(1293 name='WkTExpertlog20190222',1294 ),1295 migrations.DeleteModel(1296 name='WkTExpertlog20190223',1297 ),1298 migrations.DeleteModel(1299 name='WkTExpertlog20190224',1300 ),1301 migrations.DeleteModel(1302 name='WkTExpertlog20190225',1303 ),1304 migrations.DeleteModel(1305 name='WkTExpertlog20190226',1306 ),1307 migrations.DeleteModel(1308 name='WkTExpertlog20190227',1309 ),1310 migrations.DeleteModel(1311 name='WkTExpertlog20190228',1312 ),1313 migrations.DeleteModel(1314 name='WkTExpertlog20190301',1315 ),1316 migrations.DeleteModel(1317 name='WkTExpertlog20190302',1318 ),1319 migrations.DeleteModel(1320 name='WkTExpertlog20190303',1321 ),1322 migrations.DeleteModel(1323 name='WkTExpertlog20190304',1324 ),1325 migrations.DeleteModel(1326 name='WkTExpertlog20190305',1327 ),1328 migrations.DeleteModel(1329 name='WkTExpertlog20190306',1330 ),1331 migrations.DeleteModel(1332 name='WkTExpertlog20190307',1333 ),1334 migrations.DeleteModel(1335 name='WkTExpertlog20190308',1336 ),1337 migrations.DeleteModel(1338 name='WkTExpertlog20190309',1339 ),1340 migrations.DeleteModel(1341 name='WkTExpertlog20190310',1342 ),1343 migrations.DeleteModel(1344 name='WkTExpertlog20190311',1345 ),1346 migrations.DeleteModel(1347 name='WkTExpertlog20190312',1348 ),1349 migrations.DeleteModel(1350 name='WkTExpertlog20190313',1351 ),1352 migrations.DeleteModel(1353 name='WkTExpertlog20190314',1354 ),1355 migrations.DeleteModel(1356 name='WkTExpertlog20190315',1357 ),1358 migrations.DeleteModel(1359 name='WkTExpertlog20190316',1360 ),1361 migrations.DeleteModel(1362 name='WkTExpertlog20190317',1363 ),1364 migrations.DeleteModel(1365 name='WkTExpertlog20190318',1366 ),1367 migrations.DeleteModel(1368 name='WkTExpertlog20190319',1369 ),1370 migrations.DeleteModel(1371 name='WkTExpertlog20190320',1372 ),1373 migrations.DeleteModel(1374 name='WkTExpertlog20190321',1375 ),1376 migrations.DeleteModel(1377 name='WkTExpertlog20190322',1378 ),1379 migrations.DeleteModel(1380 name='WkTExpertlog20190323',1381 ),1382 migrations.DeleteModel(1383 name='WkTExpertlog20190324',1384 ),1385 migrations.DeleteModel(1386 name='WkTExpertlog20190325',1387 ),1388 migrations.DeleteModel(1389 name='WkTExpertlog20190326',1390 ),1391 migrations.DeleteModel(1392 name='WkTExpertlog20190327',1393 ),1394 migrations.DeleteModel(1395 name='WkTExpertlog20190328',1396 ),1397 migrations.DeleteModel(1398 name='WkTExpertlog20190329',1399 ),1400 migrations.DeleteModel(1401 name='WkTExpertlog20190330',1402 ),1403 migrations.DeleteModel(1404 name='WkTExpertlog20190331',1405 ),1406 migrations.DeleteModel(1407 name='WkTExpertlog20190401',1408 ),1409 migrations.DeleteModel(1410 name='WkTExpertlog20190402',1411 ),1412 migrations.DeleteModel(1413 name='WkTExpertlog20190403',1414 ),1415 migrations.DeleteModel(1416 name='WkTExpertlog20190404',1417 ),1418 migrations.DeleteModel(1419 name='WkTExpertlog20190405',1420 ),1421 migrations.DeleteModel(1422 name='WkTExpertlog20190406',1423 ),1424 migrations.DeleteModel(1425 name='WkTExpertlog20190407',1426 ),1427 migrations.DeleteModel(1428 name='WkTExpertlog20190408',1429 ),1430 migrations.DeleteModel(1431 name='WkTExpertlog20190409',1432 ),1433 migrations.DeleteModel(1434 name='WkTExpertlog20190410',1435 ),1436 migrations.DeleteModel(1437 name='WkTExpertlog20190411',1438 ),1439 migrations.DeleteModel(1440 name='WkTExpertlog20190412',1441 ),1442 migrations.DeleteModel(1443 name='WkTExpertlog20190413',1444 ),1445 migrations.DeleteModel(1446 name='WkTExpertlog20190414',1447 ),1448 migrations.DeleteModel(1449 name='WkTExpertlog20190415',1450 ),1451 migrations.DeleteModel(1452 name='WkTExpertlog20190416',1453 ),1454 migrations.DeleteModel(1455 name='WkTExpertlog20190417',1456 ),1457 migrations.DeleteModel(1458 name='WkTExpertlog20190418',1459 ),1460 migrations.DeleteModel(1461 name='WkTExpertlog20190419',1462 ),1463 migrations.DeleteModel(1464 name='WkTExpertlog20190420',1465 ),1466 migrations.DeleteModel(1467 name='WkTExpertlog20190421',1468 ),1469 migrations.DeleteModel(1470 name='WkTExpertlog20190422',1471 ),1472 migrations.DeleteModel(1473 name='WkTExpertlog20190423',1474 ),1475 migrations.DeleteModel(1476 name='WkTExpertlog20190424',1477 ),1478 migrations.DeleteModel(1479 name='WkTExpertlog20190425',1480 ),1481 migrations.DeleteModel(1482 name='WkTExpertlog20190426',1483 ),1484 migrations.DeleteModel(1485 name='WkTExpertlog20190427',1486 ),1487 migrations.DeleteModel(1488 name='WkTExpertlog20190428',1489 ),1490 migrations.DeleteModel(1491 name='WkTExpertlog20190429',1492 ),1493 migrations.DeleteModel(1494 name='WkTExpertlog20190430',1495 ),1496 migrations.DeleteModel(1497 name='WkTExpertlog20190501',1498 ),1499 migrations.DeleteModel(1500 name='WkTExpertlog20190502',1501 ),1502 migrations.DeleteModel(1503 name='WkTExpertlog20190503',1504 ),1505 migrations.DeleteModel(1506 name='WkTExpertlog20190504',1507 ),1508 migrations.DeleteModel(1509 name='WkTExpertlog20190505',1510 ),1511 migrations.DeleteModel(1512 name='WkTExpertlog20190506',1513 ),1514 migrations.DeleteModel(1515 name='WkTExpertlog20190507',1516 ),1517 migrations.DeleteModel(1518 name='WkTExpertlog20190508',1519 ),1520 migrations.DeleteModel(1521 name='WkTExpertlog20190509',1522 ),1523 migrations.DeleteModel(1524 name='WkTExpertlog20190510',1525 ),1526 migrations.DeleteModel(1527 name='WkTExpertlog20190511',1528 ),1529 migrations.DeleteModel(1530 name='WkTExpertlog20190512',1531 ),1532 migrations.DeleteModel(1533 name='WkTExpertlog20190513',1534 ),1535 migrations.DeleteModel(1536 name='WkTExpertlog20190514',1537 ),1538 migrations.DeleteModel(1539 name='WkTExpertlog20190515',1540 ),1541 migrations.DeleteModel(1542 name='WkTExpertlog20190516',1543 ),1544 migrations.DeleteModel(1545 name='WkTExpertlog20190517',1546 ),1547 migrations.DeleteModel(1548 name='WkTExpertlog20190518',1549 ),1550 migrations.DeleteModel(1551 name='WkTExpertlog20190519',1552 ),1553 migrations.DeleteModel(1554 name='WkTExpertlog20190520',1555 ),1556 migrations.DeleteModel(1557 name='WkTExpertlog20190521',1558 ),1559 migrations.DeleteModel(1560 name='WkTExpertlog20190522',1561 ),1562 migrations.DeleteModel(1563 name='WkTExpertlog20190523',1564 ),1565 migrations.DeleteModel(1566 name='WkTExpertlog20190524',1567 ),1568 migrations.DeleteModel(1569 name='WkTExpertlog20190525',1570 ),1571 migrations.DeleteModel(1572 name='WkTExpertlog20190526',1573 ),1574 migrations.DeleteModel(1575 name='WkTExpertlog20190527',1576 ),1577 migrations.DeleteModel(1578 name='WkTExpertlog20190528',1579 ),1580 migrations.DeleteModel(1581 name='WkTExpertlog20190529',1582 ),1583 migrations.DeleteModel(1584 name='WkTExpertlog20190530',1585 ),1586 migrations.DeleteModel(1587 name='WkTExpertlog20190531',1588 ),1589 migrations.DeleteModel(1590 name='WkTExpertlog20190601',1591 ),1592 migrations.DeleteModel(1593 name='WkTExpertlog20190602',1594 ),1595 migrations.DeleteModel(1596 name='WkTExpertlog20190603',1597 ),1598 migrations.DeleteModel(1599 name='WkTExpertlog20190604',1600 ),1601 migrations.DeleteModel(1602 name='WkTExpertlog20190605',1603 ),1604 migrations.DeleteModel(1605 name='WkTExpertlog20190606',1606 ),1607 migrations.DeleteModel(1608 name='WkTExpertlog20190607',1609 ),1610 migrations.DeleteModel(1611 name='WkTExpertlog20190608',1612 ),1613 migrations.DeleteModel(1614 name='WkTExpertlog20190609',1615 ),1616 migrations.DeleteModel(1617 name='WkTExpertlog20190610',1618 ),1619 migrations.DeleteModel(1620 name='WkTExpertlog20190611',1621 ),1622 migrations.DeleteModel(1623 name='WkTExpertlog20190612',1624 ),1625 migrations.DeleteModel(1626 name='WkTExpertlog20190613',1627 ),1628 migrations.DeleteModel(1629 name='WkTExpertlog20190614',1630 ),1631 migrations.DeleteModel(1632 name='WkTExpertlog20190615',1633 ),1634 migrations.DeleteModel(1635 name='WkTExpertlog20190616',1636 ),1637 migrations.DeleteModel(1638 name='WkTExpertlog20190617',1639 ),1640 migrations.DeleteModel(1641 name='WkTExpertlog20190618',1642 ),1643 migrations.DeleteModel(1644 name='WkTExpertlog20190619',1645 ),1646 migrations.DeleteModel(1647 name='WkTExpertlog20190620',1648 ),1649 migrations.DeleteModel(1650 name='WkTExpertlog20190621',1651 ),1652 migrations.DeleteModel(1653 name='WkTExpertlog20190622',1654 ),1655 migrations.DeleteModel(1656 name='WkTExpertlog20190623',1657 ),1658 migrations.DeleteModel(1659 name='WkTExpertlog20190624',1660 ),1661 migrations.DeleteModel(1662 name='WkTExpertlog20190625',1663 ),1664 migrations.DeleteModel(1665 name='WkTExpertlog20190626',1666 ),1667 migrations.DeleteModel(1668 name='WkTExpertlog20190627',1669 ),1670 migrations.DeleteModel(1671 name='WkTExpertlog20190628',1672 ),1673 migrations.DeleteModel(1674 name='WkTExpertlog20190629',1675 ),1676 migrations.DeleteModel(1677 name='WkTExpertlog20190630',1678 ),1679 migrations.DeleteModel(1680 name='WkTExpertlog20190701',1681 ),1682 migrations.DeleteModel(1683 name='WkTExpertlog20190702',1684 ),1685 migrations.DeleteModel(1686 name='WkTExpertlog20190703',1687 ),1688 migrations.DeleteModel(1689 name='WkTExpertlog20190704',1690 ),1691 migrations.DeleteModel(1692 name='WkTExpertlog20190705',1693 ),1694 migrations.DeleteModel(1695 name='WkTExpertlog20190706',1696 ),1697 migrations.DeleteModel(1698 name='WkTExpertlog20190707',1699 ),1700 migrations.DeleteModel(1701 name='WkTExpertlog20190708',1702 ),1703 migrations.DeleteModel(1704 name='WkTExpertlog20190709',1705 ),1706 migrations.DeleteModel(1707 name='WkTExpertlog20190710',1708 ),1709 migrations.DeleteModel(1710 name='WkTExpertlog20190711',1711 ),1712 migrations.DeleteModel(1713 name='WkTExpertlog20190712',1714 ),1715 migrations.DeleteModel(1716 name='WkTExpertlog20190713',1717 ),1718 migrations.DeleteModel(1719 name='WkTExpertlog20190714',1720 ),1721 migrations.DeleteModel(1722 name='WkTExpertlog20190715',1723 ),1724 migrations.DeleteModel(1725 name='WkTExpertlog20190716',1726 ),1727 migrations.DeleteModel(1728 name='WkTExpertlog20190717',1729 ),1730 migrations.DeleteModel(1731 name='WkTExpertlog20190718',1732 ),1733 migrations.DeleteModel(1734 name='WkTExpertlog20190719',1735 ),1736 migrations.DeleteModel(1737 name='WkTExpertlog20190720',1738 ),1739 migrations.DeleteModel(1740 name='WkTExpertlog20190721',1741 ),1742 migrations.DeleteModel(1743 name='WkTExpertlog20190722',1744 ),1745 migrations.DeleteModel(1746 name='WkTExpertlog20190723',1747 ),1748 migrations.DeleteModel(1749 name='WkTExpertlog20190724',1750 ),1751 migrations.DeleteModel(1752 name='WkTExpertlog20190725',1753 ),1754 migrations.DeleteModel(1755 name='WkTExpertlog20190726',1756 ),1757 migrations.DeleteModel(1758 name='WkTExpertlog20190727',1759 ),1760 migrations.DeleteModel(1761 name='WkTExpertlog20190728',1762 ),1763 migrations.DeleteModel(1764 name='WkTExpertlog20190729',1765 ),1766 migrations.DeleteModel(1767 name='WkTExpertlog20190730',1768 ),1769 migrations.DeleteModel(1770 name='WkTExpertlog20190731',1771 ),1772 migrations.DeleteModel(1773 name='WkTExpertlog20190801',1774 ),1775 migrations.DeleteModel(1776 name='WkTExpertlog20190802',1777 ),1778 migrations.DeleteModel(1779 name='WkTExpertlog20190803',1780 ),1781 migrations.DeleteModel(1782 name='WkTExpertlog20190804',1783 ),1784 migrations.DeleteModel(1785 name='WkTExpertlog20190805',1786 ),1787 migrations.DeleteModel(1788 name='WkTExpertlog20190806',1789 ),1790 migrations.DeleteModel(1791 name='WkTExpertlog20190807',1792 ),1793 migrations.DeleteModel(1794 name='WkTExpertlog20190808',1795 ),1796 migrations.DeleteModel(1797 name='WkTExpertlog20190809',1798 ),1799 migrations.DeleteModel(1800 name='WkTExpertlog20190810',1801 ),1802 migrations.DeleteModel(1803 name='WkTExpertlog20190811',1804 ),1805 migrations.DeleteModel(1806 name='WkTExpertlog20190812',1807 ),1808 migrations.DeleteModel(1809 name='WkTExpertlog20190813',1810 ),1811 migrations.DeleteModel(1812 name='WkTExpertlog20190814',1813 ),1814 migrations.DeleteModel(1815 name='WkTExpertlog20190815',1816 ),1817 migrations.DeleteModel(1818 name='WkTExpertlog20190816',1819 ),1820 migrations.DeleteModel(1821 name='WkTExpertlog20190817',1822 ),1823 migrations.DeleteModel(1824 name='WkTExpertlog20190818',1825 ),1826 migrations.DeleteModel(1827 name='WkTExpertlog20190819',1828 ),1829 migrations.DeleteModel(1830 name='WkTExpertlog20190820',1831 ),1832 migrations.DeleteModel(1833 name='WkTExpertlog20190821',1834 ),1835 migrations.DeleteModel(1836 name='WkTExpertlog20190822',1837 ),1838 migrations.DeleteModel(1839 name='WkTExpertlog20190823',1840 ),1841 migrations.DeleteModel(1842 name='WkTExpertlog20190824',1843 ),1844 migrations.DeleteModel(1845 name='WkTExpertlog20190825',1846 ),1847 migrations.DeleteModel(1848 name='WkTExpertlog20190826',1849 ),1850 migrations.DeleteModel(1851 name='WkTExpertlog20190827',1852 ),1853 migrations.DeleteModel(1854 name='WkTExpertlog20190828',1855 ),1856 migrations.DeleteModel(1857 name='WkTExpertlog20190829',1858 ),1859 migrations.DeleteModel(1860 name='WkTExpertlog20190830',1861 ),1862 migrations.DeleteModel(1863 name='WkTExpertlog20190831',1864 ),1865 migrations.DeleteModel(1866 name='WkTExpertlog20190901',1867 ),1868 migrations.DeleteModel(1869 name='WkTExpertlog20190902',1870 ),1871 migrations.DeleteModel(1872 name='WkTExpertlog20190903',1873 ),1874 migrations.DeleteModel(1875 name='WkTExpertlog20190904',1876 ),1877 migrations.DeleteModel(1878 name='WkTExpertlog20190905',1879 ),1880 migrations.DeleteModel(1881 name='WkTExpertlog20190906',1882 ),1883 migrations.DeleteModel(1884 name='WkTExpertlog20190907',1885 ),1886 migrations.DeleteModel(1887 name='WkTExpertlog20190908',1888 ),1889 migrations.DeleteModel(1890 name='WkTExpertlog20190909',1891 ),1892 migrations.DeleteModel(1893 name='WkTExpertlog20190910',1894 ),1895 migrations.DeleteModel(1896 name='WkTExpertlog20190911',1897 ),1898 migrations.DeleteModel(1899 name='WkTExpertlog20190912',1900 ),1901 migrations.DeleteModel(1902 name='WkTExpertlog20190913',1903 ),1904 migrations.DeleteModel(1905 name='WkTExpertlog20190914',1906 ),1907 migrations.DeleteModel(1908 name='WkTExpertlog20190915',1909 ),1910 migrations.DeleteModel(1911 name='WkTExpertlog20190916',1912 ),1913 migrations.DeleteModel(1914 name='WkTExpertlog20190917',1915 ),1916 migrations.DeleteModel(1917 name='WkTExpertlog20190918',1918 ),1919 migrations.DeleteModel(1920 name='WkTExpertlog20190919',1921 ),1922 migrations.DeleteModel(1923 name='WkTExpertlog20190920',1924 ),1925 migrations.DeleteModel(1926 name='WkTExpertlog20190921',1927 ),1928 migrations.DeleteModel(1929 name='WkTExpertlog20190922',1930 ),1931 migrations.DeleteModel(1932 name='WkTExpertlog20190923',1933 ),1934 migrations.DeleteModel(1935 name='WkTExpertlog20190924',1936 ),1937 migrations.DeleteModel(1938 name='WkTExpertlog20190925',1939 ),1940 migrations.DeleteModel(1941 name='WkTExpertlog20190926',1942 ),1943 migrations.DeleteModel(1944 name='WkTExpertlog20190927',1945 ),1946 migrations.DeleteModel(1947 name='WkTExpertlog20190928',1948 ),1949 migrations.DeleteModel(1950 name='WkTExpertlog20190929',1951 ),1952 migrations.DeleteModel(1953 name='WkTExpertlog20190930',1954 ),1955 migrations.DeleteModel(1956 name='WkTExpertlog20191001',1957 ),1958 migrations.DeleteModel(1959 name='WkTExpertlog20191002',1960 ),1961 migrations.DeleteModel(1962 name='WkTExpertlog20191003',1963 ),1964 migrations.DeleteModel(1965 name='WkTExpertlog20191004',1966 ),1967 migrations.DeleteModel(1968 name='WkTExpertlog20191005',1969 ),1970 migrations.DeleteModel(1971 name='WkTExpertlog20191006',1972 ),1973 migrations.DeleteModel(1974 name='WkTExpertlog20191007',1975 ),1976 migrations.DeleteModel(1977 name='WkTExpertlog20191008',1978 ),1979 migrations.DeleteModel(1980 name='WkTExpertlog20191009',1981 ),1982 migrations.DeleteModel(1983 name='WkTExpertlog20191010',1984 ),1985 migrations.DeleteModel(1986 name='WkTExpertlog20191011',1987 ),1988 migrations.DeleteModel(1989 name='WkTExpertlog20191012',1990 ),1991 migrations.DeleteModel(1992 name='WkTExpertlog20191013',1993 ),1994 migrations.DeleteModel(1995 name='WkTExpertlog20191014',1996 ),1997 migrations.DeleteModel(1998 name='WkTExpertlog20191015',1999 ),2000 migrations.DeleteModel(2001 name='WkTExpertlog20191016',2002 ),2003 migrations.DeleteModel(2004 name='WkTExpertlog20191017',2005 ),2006 migrations.DeleteModel(2007 name='WkTExpertlog20191018',2008 ),2009 migrations.DeleteModel(2010 name='WkTExpertlog20191019',2011 ),2012 migrations.DeleteModel(2013 name='WkTExpertlog20191020',2014 ),2015 migrations.DeleteModel(2016 name='WkTExpertlog20191021',2017 ),2018 migrations.DeleteModel(2019 name='WkTExpertlog20191022',2020 ),2021 migrations.DeleteModel(2022 name='WkTExpertlog20191023',2023 ),2024 migrations.DeleteModel(2025 name='WkTExpertlog20191024',2026 ),2027 migrations.DeleteModel(2028 name='WkTExpertlog20191025',2029 ),2030 migrations.DeleteModel(2031 name='WkTExpertlog20191026',2032 ),2033 migrations.DeleteModel(2034 name='WkTExpertlog20191027',2035 ),2036 migrations.DeleteModel(2037 name='WkTExpertlog20191028',2038 ),2039 migrations.DeleteModel(2040 name='WkTExpertlog20191029',2041 ),2042 migrations.DeleteModel(2043 name='WkTExpertlog20191030',2044 ),2045 migrations.DeleteModel(2046 name='WkTExpertlog20191031',2047 ),2048 migrations.DeleteModel(2049 name='WkTExpertlog20191101',2050 ),2051 migrations.DeleteModel(2052 name='WkTExpertlog20191102',2053 ),2054 migrations.DeleteModel(2055 name='WkTExpertlog20191103',2056 ),2057 migrations.DeleteModel(2058 name='WkTExpertlog20191104',2059 ),2060 migrations.DeleteModel(2061 name='WkTExpertlog20191105',2062 ),2063 migrations.DeleteModel(2064 name='WkTExpertlog20191106',2065 ),2066 migrations.DeleteModel(2067 name='WkTExpertlog20191107',2068 ),2069 migrations.DeleteModel(2070 name='WkTExpertlog20191108',2071 ),2072 migrations.DeleteModel(2073 name='WkTExpertlog20191109',2074 ),2075 migrations.DeleteModel(2076 name='WkTExpertlog20191110',2077 ),2078 migrations.DeleteModel(2079 name='WkTExpertlog20191111',2080 ),2081 migrations.DeleteModel(2082 name='WkTExpertlog20191112',2083 ),2084 migrations.DeleteModel(2085 name='WkTExpertlog20191113',2086 ),2087 migrations.DeleteModel(2088 name='WkTExpertlog20191114',2089 ),2090 migrations.DeleteModel(2091 name='WkTExpertlog20191115',2092 ),2093 migrations.DeleteModel(2094 name='WkTExpertlog20191116',2095 ),2096 migrations.DeleteModel(2097 name='WkTExpertlog20191117',2098 ),2099 migrations.DeleteModel(2100 name='WkTExpertlog20191118',2101 ),2102 migrations.DeleteModel(2103 name='WkTExpertlog20191119',2104 ),2105 migrations.DeleteModel(2106 name='WkTExpertlog20191120',2107 ),2108 migrations.DeleteModel(2109 name='WkTExpertlog20191121',2110 ),2111 migrations.DeleteModel(2112 name='WkTExpertlog20191122',2113 ),2114 migrations.DeleteModel(2115 name='WkTExpertlog20191123',2116 ),2117 migrations.DeleteModel(2118 name='WkTExpertlog20191124',2119 ),2120 migrations.DeleteModel(2121 name='WkTExpertlog20191125',2122 ),2123 migrations.DeleteModel(2124 name='WkTExpertlog20191126',2125 ),2126 migrations.DeleteModel(2127 name='WkTExpertlog20191127',2128 ),2129 migrations.DeleteModel(2130 name='WkTExpertlog20191128',2131 ),2132 migrations.DeleteModel(2133 name='WkTExpertlog20191129',2134 ),2135 migrations.DeleteModel(2136 name='WkTExpertlog20191130',2137 ),2138 migrations.DeleteModel(2139 name='WkTExpertlog20191201',2140 ),2141 migrations.DeleteModel(2142 name='WkTExpertlog20191202',2143 ),2144 migrations.DeleteModel(2145 name='WkTExpertlog20191203',2146 ),2147 migrations.DeleteModel(2148 name='WkTExpertlog20191204',2149 ),2150 migrations.DeleteModel(2151 name='WkTExpertlog20191205',2152 ),2153 migrations.DeleteModel(2154 name='WkTExpertlog20191206',2155 ),2156 migrations.DeleteModel(2157 name='WkTExpertlog20191207',2158 ),2159 migrations.DeleteModel(2160 name='WkTExpertlog20191208',2161 ),2162 migrations.DeleteModel(2163 name='WkTExpertlog20191209',2164 ),2165 migrations.DeleteModel(2166 name='WkTExpertlog20191210',2167 ),2168 migrations.DeleteModel(2169 name='WkTExpertlog20191211',2170 ),2171 migrations.DeleteModel(2172 name='WkTExpertlog20191212',2173 ),2174 migrations.DeleteModel(2175 name='WkTExpertlog20191213',2176 ),2177 migrations.DeleteModel(2178 name='WkTExpertlog20191214',2179 ),2180 migrations.DeleteModel(2181 name='WkTExpertlog20191215',2182 ),2183 migrations.DeleteModel(2184 name='WkTExpertlog20191216',2185 ),2186 migrations.DeleteModel(2187 name='WkTExpertlog20191217',2188 ),2189 migrations.DeleteModel(2190 name='WkTExpertlog20191218',2191 ),2192 migrations.DeleteModel(2193 name='WkTExpertlog20191219',2194 ),2195 migrations.DeleteModel(2196 name='WkTExpertlog20191220',2197 ),2198 migrations.DeleteModel(2199 name='WkTExpertlog20191221',2200 ),2201 migrations.DeleteModel(2202 name='WkTExpertlog20191222',2203 ),2204 migrations.DeleteModel(2205 name='WkTExpertlog20191223',2206 ),2207 migrations.DeleteModel(2208 name='WkTExpertlog20191224',2209 ),2210 migrations.DeleteModel(2211 name='WkTExpertlog20191225',2212 ),2213 migrations.DeleteModel(2214 name='WkTExpertlog20191226',2215 ),2216 migrations.DeleteModel(2217 name='WkTExpertlog20191227',2218 ),2219 migrations.DeleteModel(2220 name='WkTExpertlog20191228',2221 ),2222 migrations.DeleteModel(2223 name='WkTExpertlog20191229',2224 ),2225 migrations.DeleteModel(2226 name='WkTExpertlog20191230',2227 ),2228 migrations.DeleteModel(2229 name='WkTExpertlog20191231',2230 ),2231 migrations.DeleteModel(2232 name='WkTExpertlog20200101',2233 ),2234 migrations.DeleteModel(2235 name='WkTExpertlog20200102',2236 ),2237 migrations.DeleteModel(2238 name='WkTExpertlog20200103',2239 ),2240 migrations.DeleteModel(2241 name='WkTExpertlog20200104',2242 ),2243 migrations.DeleteModel(2244 name='WkTExpertlog20200105',2245 ),2246 migrations.DeleteModel(2247 name='WkTExpertlog20200106',2248 ),2249 migrations.DeleteModel(2250 name='WkTExpertlog20200107',2251 ),2252 migrations.DeleteModel(2253 name='WkTJavalog20190101',2254 ),2255 migrations.DeleteModel(2256 name='WkTJavalog20190102',2257 ),2258 migrations.DeleteModel(2259 name='WkTJavalog20190103',2260 ),2261 migrations.DeleteModel(2262 name='WkTJavalog20190104',2263 ),2264 migrations.DeleteModel(2265 name='WkTJavalog20190105',2266 ),2267 migrations.DeleteModel(2268 name='WkTJavalog20190106',2269 ),2270 migrations.DeleteModel(2271 name='WkTJavalog20190107',2272 ),2273 migrations.DeleteModel(2274 name='WkTJavalog20190108',2275 ),2276 migrations.DeleteModel(2277 name='WkTJavalog20190109',2278 ),2279 migrations.DeleteModel(2280 name='WkTJavalog20190110',2281 ),2282 migrations.DeleteModel(2283 name='WkTJavalog20190111',2284 ),2285 migrations.DeleteModel(2286 name='WkTJavalog20190112',2287 ),2288 migrations.DeleteModel(2289 name='WkTJavalog20190113',2290 ),2291 migrations.DeleteModel(2292 name='WkTJavalog20190114',2293 ),2294 migrations.DeleteModel(2295 name='WkTJavalog20190115',2296 ),2297 migrations.DeleteModel(2298 name='WkTJavalog20190116',2299 ),2300 migrations.DeleteModel(2301 name='WkTJavalog20190117',2302 ),2303 migrations.DeleteModel(2304 name='WkTJavalog20190118',2305 ),2306 migrations.DeleteModel(2307 name='WkTJavalog20190119',2308 ),2309 migrations.DeleteModel(2310 name='WkTJavalog20190120',2311 ),2312 migrations.DeleteModel(2313 name='WkTJavalog20190121',2314 ),2315 migrations.DeleteModel(2316 name='WkTJavalog20190122',2317 ),2318 migrations.DeleteModel(2319 name='WkTJavalog20190123',2320 ),2321 migrations.DeleteModel(2322 name='WkTJavalog20190124',2323 ),2324 migrations.DeleteModel(2325 name='WkTJavalog20190125',2326 ),2327 migrations.DeleteModel(2328 name='WkTJavalog20190126',2329 ),2330 migrations.DeleteModel(2331 name='WkTJavalog20190127',2332 ),2333 migrations.DeleteModel(2334 name='WkTJavalog20190128',2335 ),2336 migrations.DeleteModel(2337 name='WkTJavalog20190129',2338 ),2339 migrations.DeleteModel(2340 name='WkTJavalog20190130',2341 ),2342 migrations.DeleteModel(2343 name='WkTJavalog20190131',2344 ),2345 migrations.DeleteModel(2346 name='WkTJavalog20190201',2347 ),2348 migrations.DeleteModel(2349 name='WkTJavalog20190202',2350 ),2351 migrations.DeleteModel(2352 name='WkTJavalog20190203',2353 ),2354 migrations.DeleteModel(2355 name='WkTJavalog20190204',2356 ),2357 migrations.DeleteModel(2358 name='WkTJavalog20190205',2359 ),2360 migrations.DeleteModel(2361 name='WkTJavalog20190206',2362 ),2363 migrations.DeleteModel(2364 name='WkTJavalog20190207',2365 ),2366 migrations.DeleteModel(2367 name='WkTJavalog20190208',2368 ),2369 migrations.DeleteModel(2370 name='WkTJavalog20190209',2371 ),2372 migrations.DeleteModel(2373 name='WkTJavalog20190210',2374 ),2375 migrations.DeleteModel(2376 name='WkTJavalog20190211',2377 ),2378 migrations.DeleteModel(2379 name='WkTJavalog20190212',2380 ),2381 migrations.DeleteModel(2382 name='WkTJavalog20190213',2383 ),2384 migrations.DeleteModel(2385 name='WkTJavalog20190214',2386 ),2387 migrations.DeleteModel(2388 name='WkTJavalog20190215',2389 ),2390 migrations.DeleteModel(2391 name='WkTJavalog20190216',2392 ),2393 migrations.DeleteModel(2394 name='WkTJavalog20190217',2395 ),2396 migrations.DeleteModel(2397 name='WkTJavalog20190218',2398 ),2399 migrations.DeleteModel(2400 name='WkTJavalog20190219',2401 ),2402 migrations.DeleteModel(2403 name='WkTJavalog20190220',2404 ),2405 migrations.DeleteModel(2406 name='WkTJavalog20190221',2407 ),2408 migrations.DeleteModel(2409 name='WkTJavalog20190222',2410 ),2411 migrations.DeleteModel(2412 name='WkTJavalog20190223',2413 ),2414 migrations.DeleteModel(2415 name='WkTJavalog20190224',2416 ),2417 migrations.DeleteModel(2418 name='WkTJavalog20190225',2419 ),2420 migrations.DeleteModel(2421 name='WkTJavalog20190226',2422 ),2423 migrations.DeleteModel(2424 name='WkTJavalog20190227',2425 ),2426 migrations.DeleteModel(2427 name='WkTJavalog20190228',2428 ),2429 migrations.DeleteModel(2430 name='WkTJavalog20190301',2431 ),2432 migrations.DeleteModel(2433 name='WkTJavalog20190302',2434 ),2435 migrations.DeleteModel(2436 name='WkTJavalog20190303',2437 ),2438 migrations.DeleteModel(2439 name='WkTJavalog20190304',2440 ),2441 migrations.DeleteModel(2442 name='WkTJavalog20190305',2443 ),2444 migrations.DeleteModel(2445 name='WkTJavalog20190306',2446 ),2447 migrations.DeleteModel(2448 name='WkTJavalog20190307',2449 ),2450 migrations.DeleteModel(2451 name='WkTJavalog20190308',2452 ),2453 migrations.DeleteModel(2454 name='WkTJavalog20190309',2455 ),2456 migrations.DeleteModel(2457 name='WkTJavalog20190310',2458 ),2459 migrations.DeleteModel(2460 name='WkTJavalog20190311',2461 ),2462 migrations.DeleteModel(2463 name='WkTJavalog20190312',2464 ),2465 migrations.DeleteModel(2466 name='WkTJavalog20190313',2467 ),2468 migrations.DeleteModel(2469 name='WkTJavalog20190314',2470 ),2471 migrations.DeleteModel(2472 name='WkTJavalog20190315',2473 ),2474 migrations.DeleteModel(2475 name='WkTJavalog20190316',2476 ),2477 migrations.DeleteModel(2478 name='WkTJavalog20190317',2479 ),2480 migrations.DeleteModel(2481 name='WkTJavalog20190318',2482 ),2483 migrations.DeleteModel(2484 name='WkTJavalog20190319',2485 ),2486 migrations.DeleteModel(2487 name='WkTJavalog20190320',2488 ),2489 migrations.DeleteModel(2490 name='WkTJavalog20190321',2491 ),2492 migrations.DeleteModel(2493 name='WkTJavalog20190322',2494 ),2495 migrations.DeleteModel(2496 name='WkTJavalog20190323',2497 ),2498 migrations.DeleteModel(2499 name='WkTJavalog20190324',2500 ),2501 migrations.DeleteModel(2502 name='WkTJavalog20190325',2503 ),2504 migrations.DeleteModel(2505 name='WkTJavalog20190326',2506 ),2507 migrations.DeleteModel(2508 name='WkTJavalog20190327',2509 ),2510 migrations.DeleteModel(2511 name='WkTJavalog20190328',2512 ),2513 migrations.DeleteModel(2514 name='WkTJavalog20190329',2515 ),2516 migrations.DeleteModel(2517 name='WkTJavalog20190330',2518 ),2519 migrations.DeleteModel(2520 name='WkTJavalog20190331',2521 ),2522 migrations.DeleteModel(2523 name='WkTJavalog20190401',2524 ),2525 migrations.DeleteModel(2526 name='WkTJavalog20190402',2527 ),2528 migrations.DeleteModel(2529 name='WkTJavalog20190403',2530 ),2531 migrations.DeleteModel(2532 name='WkTJavalog20190404',2533 ),2534 migrations.DeleteModel(2535 name='WkTJavalog20190405',2536 ),2537 migrations.DeleteModel(2538 name='WkTJavalog20190406',2539 ),2540 migrations.DeleteModel(2541 name='WkTJavalog20190407',2542 ),2543 migrations.DeleteModel(2544 name='WkTJavalog20190408',2545 ),2546 migrations.DeleteModel(2547 name='WkTJavalog20190409',2548 ),2549 migrations.DeleteModel(2550 name='WkTJavalog20190410',2551 ),2552 migrations.DeleteModel(2553 name='WkTJavalog20190411',2554 ),2555 migrations.DeleteModel(2556 name='WkTJavalog20190412',2557 ),2558 migrations.DeleteModel(2559 name='WkTJavalog20190413',2560 ),2561 migrations.DeleteModel(2562 name='WkTJavalog20190414',2563 ),2564 migrations.DeleteModel(2565 name='WkTJavalog20190415',2566 ),2567 migrations.DeleteModel(2568 name='WkTJavalog20190416',2569 ),2570 migrations.DeleteModel(2571 name='WkTJavalog20190417',2572 ),2573 migrations.DeleteModel(2574 name='WkTJavalog20190418',2575 ),2576 migrations.DeleteModel(2577 name='WkTJavalog20190419',2578 ),2579 migrations.DeleteModel(2580 name='WkTJavalog20190420',2581 ),2582 migrations.DeleteModel(2583 name='WkTJavalog20190421',2584 ),2585 migrations.DeleteModel(2586 name='WkTJavalog20190422',2587 ),2588 migrations.DeleteModel(2589 name='WkTJavalog20190423',2590 ),2591 migrations.DeleteModel(2592 name='WkTJavalog20190424',2593 ),2594 migrations.DeleteModel(2595 name='WkTJavalog20190425',2596 ),2597 migrations.DeleteModel(2598 name='WkTJavalog20190426',2599 ),2600 migrations.DeleteModel(2601 name='WkTJavalog20190427',2602 ),2603 migrations.DeleteModel(2604 name='WkTJavalog20190428',2605 ),2606 migrations.DeleteModel(2607 name='WkTJavalog20190429',2608 ),2609 migrations.DeleteModel(2610 name='WkTJavalog20190430',2611 ),2612 migrations.DeleteModel(2613 name='WkTJavalog20190501',2614 ),2615 migrations.DeleteModel(2616 name='WkTJavalog20190502',2617 ),2618 migrations.DeleteModel(2619 name='WkTJavalog20190503',2620 ),2621 migrations.DeleteModel(2622 name='WkTJavalog20190504',2623 ),2624 migrations.DeleteModel(2625 name='WkTJavalog20190505',2626 ),2627 migrations.DeleteModel(2628 name='WkTJavalog20190506',2629 ),2630 migrations.DeleteModel(2631 name='WkTJavalog20190507',2632 ),2633 migrations.DeleteModel(2634 name='WkTJavalog20190508',2635 ),2636 migrations.DeleteModel(2637 name='WkTJavalog20190509',2638 ),2639 migrations.DeleteModel(2640 name='WkTJavalog20190510',2641 ),2642 migrations.DeleteModel(2643 name='WkTJavalog20190511',2644 ),2645 migrations.DeleteModel(2646 name='WkTJavalog20190512',2647 ),2648 migrations.DeleteModel(2649 name='WkTJavalog20190513',2650 ),2651 migrations.DeleteModel(2652 name='WkTJavalog20190514',2653 ),2654 migrations.DeleteModel(2655 name='WkTJavalog20190515',2656 ),2657 migrations.DeleteModel(2658 name='WkTJavalog20190516',2659 ),2660 migrations.DeleteModel(2661 name='WkTJavalog20190517',2662 ),2663 migrations.DeleteModel(2664 name='WkTJavalog20190518',2665 ),2666 migrations.DeleteModel(2667 name='WkTJavalog20190519',2668 ),2669 migrations.DeleteModel(2670 name='WkTJavalog20190520',2671 ),2672 migrations.DeleteModel(2673 name='WkTJavalog20190521',2674 ),2675 migrations.DeleteModel(2676 name='WkTJavalog20190522',2677 ),2678 migrations.DeleteModel(2679 name='WkTJavalog20190523',2680 ),2681 migrations.DeleteModel(2682 name='WkTJavalog20190524',2683 ),2684 migrations.DeleteModel(2685 name='WkTJavalog20190525',2686 ),2687 migrations.DeleteModel(2688 name='WkTJavalog20190526',2689 ),2690 migrations.DeleteModel(2691 name='WkTJavalog20190527',2692 ),2693 migrations.DeleteModel(2694 name='WkTJavalog20190528',2695 ),2696 migrations.DeleteModel(2697 name='WkTJavalog20190529',2698 ),2699 migrations.DeleteModel(2700 name='WkTJavalog20190530',2701 ),2702 migrations.DeleteModel(2703 name='WkTJavalog20190531',2704 ),2705 migrations.DeleteModel(2706 name='WkTJavalog20190601',2707 ),2708 migrations.DeleteModel(2709 name='WkTJavalog20190602',2710 ),2711 migrations.DeleteModel(2712 name='WkTJavalog20190603',2713 ),2714 migrations.DeleteModel(2715 name='WkTJavalog20190604',2716 ),2717 migrations.DeleteModel(2718 name='WkTJavalog20190605',2719 ),2720 migrations.DeleteModel(2721 name='WkTJavalog20190606',2722 ),2723 migrations.DeleteModel(2724 name='WkTJavalog20190607',2725 ),2726 migrations.DeleteModel(2727 name='WkTJavalog20190608',2728 ),2729 migrations.DeleteModel(2730 name='WkTJavalog20190609',2731 ),2732 migrations.DeleteModel(2733 name='WkTJavalog20190610',2734 ),2735 migrations.DeleteModel(2736 name='WkTJavalog20190611',2737 ),2738 migrations.DeleteModel(2739 name='WkTJavalog20190612',2740 ),2741 migrations.DeleteModel(2742 name='WkTJavalog20190613',2743 ),2744 migrations.DeleteModel(2745 name='WkTJavalog20190614',2746 ),2747 migrations.DeleteModel(2748 name='WkTJavalog20190615',2749 ),2750 migrations.DeleteModel(2751 name='WkTJavalog20190616',2752 ),2753 migrations.DeleteModel(2754 name='WkTJavalog20190617',2755 ),2756 migrations.DeleteModel(2757 name='WkTJavalog20190618',2758 ),2759 migrations.DeleteModel(2760 name='WkTJavalog20190619',2761 ),2762 migrations.DeleteModel(2763 name='WkTJavalog20190620',2764 ),2765 migrations.DeleteModel(2766 name='WkTJavalog20190621',2767 ),2768 migrations.DeleteModel(2769 name='WkTJavalog20190622',2770 ),2771 migrations.DeleteModel(2772 name='WkTJavalog20190623',2773 ),2774 migrations.DeleteModel(2775 name='WkTJavalog20190624',2776 ),2777 migrations.DeleteModel(2778 name='WkTJavalog20190625',2779 ),2780 migrations.DeleteModel(2781 name='WkTJavalog20190626',2782 ),2783 migrations.DeleteModel(2784 name='WkTJavalog20190627',2785 ),2786 migrations.DeleteModel(2787 name='WkTJavalog20190628',2788 ),2789 migrations.DeleteModel(2790 name='WkTJavalog20190629',2791 ),2792 migrations.DeleteModel(2793 name='WkTJavalog20190630',2794 ),2795 migrations.DeleteModel(2796 name='WkTJavalog20190701',2797 ),2798 migrations.DeleteModel(2799 name='WkTJavalog20190702',2800 ),2801 migrations.DeleteModel(2802 name='WkTJavalog20190703',2803 ),2804 migrations.DeleteModel(2805 name='WkTJavalog20190704',2806 ),2807 migrations.DeleteModel(2808 name='WkTJavalog20190705',2809 ),2810 migrations.DeleteModel(2811 name='WkTJavalog20190706',2812 ),2813 migrations.DeleteModel(2814 name='WkTJavalog20190707',2815 ),2816 migrations.DeleteModel(2817 name='WkTJavalog20190708',2818 ),2819 migrations.DeleteModel(2820 name='WkTJavalog20190709',2821 ),2822 migrations.DeleteModel(2823 name='WkTJavalog20190710',2824 ),2825 migrations.DeleteModel(2826 name='WkTJavalog20190711',2827 ),2828 migrations.DeleteModel(2829 name='WkTJavalog20190712',2830 ),2831 migrations.DeleteModel(2832 name='WkTJavalog20190713',2833 ),2834 migrations.DeleteModel(2835 name='WkTJavalog20190714',2836 ),2837 migrations.DeleteModel(2838 name='WkTJavalog20190715',2839 ),2840 migrations.DeleteModel(2841 name='WkTJavalog20190716',2842 ),2843 migrations.DeleteModel(2844 name='WkTJavalog20190717',2845 ),2846 migrations.DeleteModel(2847 name='WkTJavalog20190718',2848 ),2849 migrations.DeleteModel(2850 name='WkTJavalog20190719',2851 ),2852 migrations.DeleteModel(2853 name='WkTJavalog20190720',2854 ),2855 migrations.DeleteModel(2856 name='WkTJavalog20190721',2857 ),2858 migrations.DeleteModel(2859 name='WkTJavalog20190722',2860 ),2861 migrations.DeleteModel(2862 name='WkTJavalog20190723',2863 ),2864 migrations.DeleteModel(2865 name='WkTJavalog20190724',2866 ),2867 migrations.DeleteModel(2868 name='WkTJavalog20190725',2869 ),2870 migrations.DeleteModel(2871 name='WkTJavalog20190726',2872 ),2873 migrations.DeleteModel(2874 name='WkTJavalog20190727',2875 ),2876 migrations.DeleteModel(2877 name='WkTJavalog20190728',2878 ),2879 migrations.DeleteModel(2880 name='WkTJavalog20190729',2881 ),2882 migrations.DeleteModel(2883 name='WkTJavalog20190730',2884 ),2885 migrations.DeleteModel(2886 name='WkTJavalog20190731',2887 ),2888 migrations.DeleteModel(2889 name='WkTJavalog20190801',2890 ),2891 migrations.DeleteModel(2892 name='WkTJavalog20190802',2893 ),2894 migrations.DeleteModel(2895 name='WkTJavalog20190803',2896 ),2897 migrations.DeleteModel(2898 name='WkTJavalog20190804',2899 ),2900 migrations.DeleteModel(2901 name='WkTJavalog20190805',2902 ),2903 migrations.DeleteModel(2904 name='WkTJavalog20190806',2905 ),2906 migrations.DeleteModel(2907 name='WkTJavalog20190807',2908 ),2909 migrations.DeleteModel(2910 name='WkTJavalog20190808',2911 ),2912 migrations.DeleteModel(2913 name='WkTJavalog20190809',2914 ),2915 migrations.DeleteModel(2916 name='WkTJavalog20190810',2917 ),2918 migrations.DeleteModel(2919 name='WkTJavalog20190811',2920 ),2921 migrations.DeleteModel(2922 name='WkTJavalog20190812',2923 ),2924 migrations.DeleteModel(2925 name='WkTJavalog20190813',2926 ),2927 migrations.DeleteModel(2928 name='WkTJavalog20190814',2929 ),2930 migrations.DeleteModel(2931 name='WkTJavalog20190815',2932 ),2933 migrations.DeleteModel(2934 name='WkTJavalog20190816',2935 ),2936 migrations.DeleteModel(2937 name='WkTJavalog20190817',2938 ),2939 migrations.DeleteModel(2940 name='WkTJavalog20190818',2941 ),2942 migrations.DeleteModel(2943 name='WkTJavalog20190819',2944 ),2945 migrations.DeleteModel(2946 name='WkTJavalog20190820',2947 ),2948 migrations.DeleteModel(2949 name='WkTJavalog20190821',2950 ),2951 migrations.DeleteModel(2952 name='WkTJavalog20190822',2953 ),2954 migrations.DeleteModel(2955 name='WkTJavalog20190823',2956 ),2957 migrations.DeleteModel(2958 name='WkTJavalog20190824',2959 ),2960 migrations.DeleteModel(2961 name='WkTJavalog20190825',2962 ),2963 migrations.DeleteModel(2964 name='WkTJavalog20190826',2965 ),2966 migrations.DeleteModel(2967 name='WkTJavalog20190827',2968 ),2969 migrations.DeleteModel(2970 name='WkTJavalog20190828',2971 ),2972 migrations.DeleteModel(2973 name='WkTJavalog20190829',2974 ),2975 migrations.DeleteModel(2976 name='WkTJavalog20190830',2977 ),2978 migrations.DeleteModel(2979 name='WkTJavalog20190831',2980 ),2981 migrations.DeleteModel(2982 name='WkTJavalog20190901',2983 ),2984 migrations.DeleteModel(2985 name='WkTJavalog20190902',2986 ),2987 migrations.DeleteModel(2988 name='WkTJavalog20190903',2989 ),2990 migrations.DeleteModel(2991 name='WkTJavalog20190904',2992 ),2993 migrations.DeleteModel(2994 name='WkTJavalog20190905',2995 ),2996 migrations.DeleteModel(2997 name='WkTJavalog20190906',2998 ),2999 migrations.DeleteModel(3000 name='WkTJavalog20190907',3001 ),3002 migrations.DeleteModel(3003 name='WkTJavalog20190908',3004 ),3005 migrations.DeleteModel(3006 name='WkTJavalog20190909',3007 ),3008 migrations.DeleteModel(3009 name='WkTJavalog20190910',3010 ),3011 migrations.DeleteModel(3012 name='WkTJavalog20190911',3013 ),3014 migrations.DeleteModel(3015 name='WkTJavalog20190912',3016 ),3017 migrations.DeleteModel(3018 name='WkTJavalog20190913',3019 ),3020 migrations.DeleteModel(3021 name='WkTJavalog20190914',3022 ),3023 migrations.DeleteModel(3024 name='WkTJavalog20190915',3025 ),3026 migrations.DeleteModel(3027 name='WkTJavalog20190916',3028 ),3029 migrations.DeleteModel(3030 name='WkTJavalog20190917',3031 ),3032 migrations.DeleteModel(3033 name='WkTJavalog20190918',3034 ),3035 migrations.DeleteModel(3036 name='WkTJavalog20190919',3037 ),3038 migrations.DeleteModel(3039 name='WkTJavalog20190920',3040 ),3041 migrations.DeleteModel(3042 name='WkTJavalog20190921',3043 ),3044 migrations.DeleteModel(3045 name='WkTJavalog20190922',3046 ),3047 migrations.DeleteModel(3048 name='WkTJavalog20190923',3049 ),3050 migrations.DeleteModel(3051 name='WkTJavalog20190924',3052 ),3053 migrations.DeleteModel(3054 name='WkTJavalog20190925',3055 ),3056 migrations.DeleteModel(3057 name='WkTJavalog20190926',3058 ),3059 migrations.DeleteModel(3060 name='WkTJavalog20190927',3061 ),3062 migrations.DeleteModel(3063 name='WkTJavalog20190928',3064 ),3065 migrations.DeleteModel(3066 name='WkTJavalog20190929',3067 ),3068 migrations.DeleteModel(3069 name='WkTJavalog20190930',3070 ),3071 migrations.DeleteModel(3072 name='WkTJavalog20191001',3073 ),3074 migrations.DeleteModel(3075 name='WkTJavalog20191002',3076 ),3077 migrations.DeleteModel(3078 name='WkTJavalog20191003',3079 ),3080 migrations.DeleteModel(3081 name='WkTJavalog20191004',3082 ),3083 migrations.DeleteModel(3084 name='WkTJavalog20191005',3085 ),3086 migrations.DeleteModel(3087 name='WkTJavalog20191006',3088 ),3089 migrations.DeleteModel(3090 name='WkTJavalog20191007',3091 ),3092 migrations.DeleteModel(3093 name='WkTJavalog20191008',3094 ),3095 migrations.DeleteModel(3096 name='WkTJavalog20191009',3097 ),3098 migrations.DeleteModel(3099 name='WkTJavalog20191010',3100 ),3101 migrations.DeleteModel(3102 name='WkTJavalog20191011',3103 ),3104 migrations.DeleteModel(3105 name='WkTJavalog20191012',3106 ),3107 migrations.DeleteModel(3108 name='WkTJavalog20191013',3109 ),3110 migrations.DeleteModel(3111 name='WkTJavalog20191014',3112 ),3113 migrations.DeleteModel(3114 name='WkTJavalog20191015',3115 ),3116 migrations.DeleteModel(3117 name='WkTJavalog20191016',3118 ),3119 migrations.DeleteModel(3120 name='WkTJavalog20191017',3121 ),3122 migrations.DeleteModel(3123 name='WkTJavalog20191018',3124 ),3125 migrations.DeleteModel(3126 name='WkTJavalog20191019',3127 ),3128 migrations.DeleteModel(3129 name='WkTJavalog20191020',3130 ),3131 migrations.DeleteModel(3132 name='WkTJavalog20191021',3133 ),3134 migrations.DeleteModel(3135 name='WkTJavalog20191022',3136 ),3137 migrations.DeleteModel(3138 name='WkTJavalog20191023',3139 ),3140 migrations.DeleteModel(3141 name='WkTJavalog20191024',3142 ),3143 migrations.DeleteModel(3144 name='WkTJavalog20191025',3145 ),3146 migrations.DeleteModel(3147 name='WkTJavalog20191026',3148 ),3149 migrations.DeleteModel(3150 name='WkTJavalog20191027',3151 ),3152 migrations.DeleteModel(3153 name='WkTJavalog20191028',3154 ),3155 migrations.DeleteModel(3156 name='WkTJavalog20191029',3157 ),3158 migrations.DeleteModel(3159 name='WkTJavalog20191030',3160 ),3161 migrations.DeleteModel(3162 name='WkTJavalog20191031',3163 ),3164 migrations.DeleteModel(3165 name='WkTJavalog20191101',3166 ),3167 migrations.DeleteModel(3168 name='WkTJavalog20191102',3169 ),3170 migrations.DeleteModel(3171 name='WkTJavalog20191103',3172 ),3173 migrations.DeleteModel(3174 name='WkTJavalog20191104',3175 ),3176 migrations.DeleteModel(3177 name='WkTJavalog20191105',3178 ),3179 migrations.DeleteModel(3180 name='WkTJavalog20191106',3181 ),3182 migrations.DeleteModel(3183 name='WkTJavalog20191107',3184 ),3185 migrations.DeleteModel(3186 name='WkTJavalog20191108',3187 ),3188 migrations.DeleteModel(3189 name='WkTJavalog20191109',3190 ),3191 migrations.DeleteModel(3192 name='WkTJavalog20191110',3193 ),3194 migrations.DeleteModel(3195 name='WkTJavalog20191111',3196 ),3197 migrations.DeleteModel(3198 name='WkTJavalog20191112',3199 ),3200 migrations.DeleteModel(3201 name='WkTJavalog20191113',3202 ),3203 migrations.DeleteModel(3204 name='WkTJavalog20191114',3205 ),3206 migrations.DeleteModel(3207 name='WkTJavalog20191115',3208 ),3209 migrations.DeleteModel(3210 name='WkTJavalog20191116',3211 ),3212 migrations.DeleteModel(3213 name='WkTJavalog20191117',3214 ),3215 migrations.DeleteModel(3216 name='WkTJavalog20191118',3217 ),3218 migrations.DeleteModel(3219 name='WkTJavalog20191119',3220 ),3221 migrations.DeleteModel(3222 name='WkTJavalog20191120',3223 ),3224 migrations.DeleteModel(3225 name='WkTJavalog20191121',3226 ),3227 migrations.DeleteModel(3228 name='WkTJavalog20191122',3229 ),3230 migrations.DeleteModel(3231 name='WkTJavalog20191123',3232 ),3233 migrations.DeleteModel(3234 name='WkTJavalog20191124',3235 ),3236 migrations.DeleteModel(3237 name='WkTJavalog20191125',3238 ),3239 migrations.DeleteModel(3240 name='WkTJavalog20191126',3241 ),3242 migrations.DeleteModel(3243 name='WkTJavalog20191127',3244 ),3245 migrations.DeleteModel(3246 name='WkTJavalog20191128',3247 ),3248 migrations.DeleteModel(3249 name='WkTJavalog20191129',3250 ),3251 migrations.DeleteModel(3252 name='WkTJavalog20191130',3253 ),3254 migrations.DeleteModel(3255 name='WkTJavalog20191201',3256 ),3257 migrations.DeleteModel(3258 name='WkTJavalog20191202',3259 ),3260 migrations.DeleteModel(3261 name='WkTJavalog20191203',3262 ),3263 migrations.DeleteModel(3264 name='WkTJavalog20191204',3265 ),3266 migrations.DeleteModel(3267 name='WkTJavalog20191205',3268 ),3269 migrations.DeleteModel(3270 name='WkTJavalog20191206',3271 ),3272 migrations.DeleteModel(3273 name='WkTJavalog20191207',3274 ),3275 migrations.DeleteModel(3276 name='WkTJavalog20191208',3277 ),3278 migrations.DeleteModel(3279 name='WkTJavalog20191209',3280 ),3281 migrations.DeleteModel(3282 name='WkTJavalog20191210',3283 ),3284 migrations.DeleteModel(3285 name='WkTJavalog20191211',3286 ),3287 migrations.DeleteModel(3288 name='WkTJavalog20191212',3289 ),3290 migrations.DeleteModel(3291 name='WkTJavalog20191213',3292 ),3293 migrations.DeleteModel(3294 name='WkTJavalog20191214',3295 ),3296 migrations.DeleteModel(3297 name='WkTJavalog20191215',3298 ),3299 migrations.DeleteModel(3300 name='WkTJavalog20191216',3301 ),3302 migrations.DeleteModel(3303 name='WkTJavalog20191217',3304 ),3305 migrations.DeleteModel(3306 name='WkTJavalog20191218',3307 ),3308 migrations.DeleteModel(3309 name='WkTJavalog20191219',3310 ),3311 migrations.DeleteModel(3312 name='WkTJavalog20191220',3313 ),3314 migrations.DeleteModel(3315 name='WkTJavalog20191221',3316 ),3317 migrations.DeleteModel(3318 name='WkTJavalog20191222',3319 ),3320 migrations.DeleteModel(3321 name='WkTJavalog20191223',3322 ),3323 migrations.DeleteModel(3324 name='WkTJavalog20191224',3325 ),3326 migrations.DeleteModel(3327 name='WkTJavalog20191225',3328 ),3329 migrations.DeleteModel(3330 name='WkTJavalog20191226',3331 ),3332 migrations.DeleteModel(3333 name='WkTJavalog20191227',3334 ),3335 migrations.DeleteModel(3336 name='WkTJavalog20191228',3337 ),3338 migrations.DeleteModel(3339 name='WkTJavalog20191229',3340 ),3341 migrations.DeleteModel(3342 name='WkTJavalog20191230',3343 ),3344 migrations.DeleteModel(3345 name='WkTJavalog20191231',3346 ),3347 migrations.DeleteModel(3348 name='WkTJavalog20200101',3349 ),3350 migrations.DeleteModel(3351 name='WkTJavalog20200102',3352 ),3353 migrations.DeleteModel(3354 name='WkTJavalog20200103',3355 ),3356 migrations.DeleteModel(3357 name='WkTJavalog20200104',3358 ),3359 migrations.DeleteModel(3360 name='WkTJavalog20200105',3361 ),3362 migrations.DeleteModel(3363 name='WkTJavalog20200106',3364 ),3365 migrations.DeleteModel(3366 name='WkTJavalog20200107',3367 ),3368 migrations.DeleteModel(3369 name='WkTJavalogcount',3370 ),3371 migrations.DeleteModel(3372 name='WkTLocationuserBasicnumber',3373 ),3374 migrations.DeleteModel(3375 name='WkTLocationuserCoverage',3376 ),3377 migrations.DeleteModel(3378 name='WkTPlatformpushed',3379 ),3380 migrations.DeleteModel(3381 name='WkTPlatformpushedOld',3382 ),3383 migrations.DeleteModel(3384 name='WkTPlatformuser',3385 ),3386 migrations.DeleteModel(3387 name='WkTPlatformuserOld',3388 ),3389 migrations.DeleteModel(3390 name='WkTUseraction',3391 ),3392 migrations.DeleteModel(3393 name='WkTUseractivity2018',3394 ),3395 migrations.DeleteModel(3396 name='WkTUseractivity2020',3397 ),3398 migrations.DeleteModel(3399 name='WkTUserOperationModuleCount',3400 ),3401 migrations.DeleteModel(3402 name='WkTUserSalerMap',3403 ),3404 migrations.DeleteModel(3405 name='WkTWebuserlog',3406 ),3407 migrations.DeleteModel(3408 name='WkTWebuserlog20171229',3409 ),3410 migrations.DeleteModel(3411 name='WkTWebuserlog20180131',3412 ),3413 migrations.DeleteModel(3414 name='WkTWebuserlog20180228',3415 ),3416 migrations.DeleteModel(3417 name='WkTWebuserlog20180330',3418 ),3419 migrations.DeleteModel(3420 name='WkTWebuserlog20180430',3421 ),3422 migrations.DeleteModel(3423 name='WkTWebuserlog20180531',3424 ),3425 migrations.DeleteModel(3426 name='WkTWebuserlog20180629',3427 ),3428 migrations.DeleteModel(3429 name='WkTWebuserlog20180731',3430 ),3431 migrations.DeleteModel(3432 name='WkTWebuserlog20180831',3433 ),3434 migrations.DeleteModel(3435 name='WkTWebuserlog20180928',3436 ),3437 migrations.DeleteModel(3438 name='WkTWebuserlog20181031',3439 ),3440 migrations.DeleteModel(3441 name='WkTWebuserlog20181130',3442 ),3443 migrations.DeleteModel(3444 name='WkTWebuserlog20181231',3445 ),3446 migrations.DeleteModel(3447 name='WkTWebuserlog20190101',3448 ),3449 migrations.DeleteModel(3450 name='WkTWebuserlog20190102',3451 ),3452 migrations.DeleteModel(3453 name='WkTWebuserlog20190103',3454 ),3455 migrations.DeleteModel(3456 name='WkTWebuserlog20190104',3457 ),3458 migrations.DeleteModel(3459 name='WkTWebuserlog20190105',3460 ),3461 migrations.DeleteModel(3462 name='WkTWebuserlog20190106',3463 ),3464 migrations.DeleteModel(3465 name='WkTWebuserlog20190107',3466 ),3467 migrations.DeleteModel(3468 name='WkTWebuserlog20190108',3469 ),3470 migrations.DeleteModel(3471 name='WkTWebuserlog20190109',3472 ),3473 migrations.DeleteModel(3474 name='WkTWebuserlog20190110',3475 ),3476 migrations.DeleteModel(3477 name='WkTWebuserlog20190111',3478 ),3479 migrations.DeleteModel(3480 name='WkTWebuserlog20190112',3481 ),3482 migrations.DeleteModel(3483 name='WkTWebuserlog20190113',3484 ),3485 migrations.DeleteModel(3486 name='WkTWebuserlog20190114',3487 ),3488 migrations.DeleteModel(3489 name='WkTWebuserlog20190115',3490 ),3491 migrations.DeleteModel(3492 name='WkTWebuserlog20190116',3493 ),3494 migrations.DeleteModel(3495 name='WkTWebuserlog20190117',3496 ),3497 migrations.DeleteModel(3498 name='WkTWebuserlog20190118',3499 ),3500 migrations.DeleteModel(3501 name='WkTWebuserlog20190119',3502 ),3503 migrations.DeleteModel(3504 name='WkTWebuserlog20190120',3505 ),3506 migrations.DeleteModel(3507 name='WkTWebuserlog20190121',3508 ),3509 migrations.DeleteModel(3510 name='WkTWebuserlog20190122',3511 ),3512 migrations.DeleteModel(3513 name='WkTWebuserlog20190123',3514 ),3515 migrations.DeleteModel(3516 name='WkTWebuserlog20190124',3517 ),3518 migrations.DeleteModel(3519 name='WkTWebuserlog20190125',3520 ),3521 migrations.DeleteModel(3522 name='WkTWebuserlog20190126',3523 ),3524 migrations.DeleteModel(3525 name='WkTWebuserlog20190127',3526 ),3527 migrations.DeleteModel(3528 name='WkTWebuserlog20190128',3529 ),3530 migrations.DeleteModel(3531 name='WkTWebuserlog20190129',3532 ),3533 migrations.DeleteModel(3534 name='WkTWebuserlog20190130',3535 ),3536 migrations.DeleteModel(3537 name='WkTWebuserlog20190131',3538 ),3539 migrations.DeleteModel(3540 name='WkTWebuserlog20190201',3541 ),3542 migrations.DeleteModel(3543 name='WkTWebuserlog20190202',3544 ),3545 migrations.DeleteModel(3546 name='WkTWebuserlog20190203',3547 ),3548 migrations.DeleteModel(3549 name='WkTWebuserlog20190204',3550 ),3551 migrations.DeleteModel(3552 name='WkTWebuserlog20190205',3553 ),3554 migrations.DeleteModel(3555 name='WkTWebuserlog20190206',3556 ),3557 migrations.DeleteModel(3558 name='WkTWebuserlog20190207',3559 ),3560 migrations.DeleteModel(3561 name='WkTWebuserlog20190208',3562 ),3563 migrations.DeleteModel(3564 name='WkTWebuserlog20190209',3565 ),3566 migrations.DeleteModel(3567 name='WkTWebuserlog20190210',3568 ),3569 migrations.DeleteModel(3570 name='WkTWebuserlog20190211',3571 ),3572 migrations.DeleteModel(3573 name='WkTWebuserlog20190212',3574 ),3575 migrations.DeleteModel(3576 name='WkTWebuserlog20190213',3577 ),3578 migrations.DeleteModel(3579 name='WkTWebuserlog20190214',3580 ),3581 migrations.DeleteModel(3582 name='WkTWebuserlog20190215',3583 ),3584 migrations.DeleteModel(3585 name='WkTWebuserlog20190216',3586 ),3587 migrations.DeleteModel(3588 name='WkTWebuserlog20190217',3589 ),3590 migrations.DeleteModel(3591 name='WkTWebuserlog20190218',3592 ),3593 migrations.DeleteModel(3594 name='WkTWebuserlog20190219',3595 ),3596 migrations.DeleteModel(3597 name='WkTWebuserlog20190220',3598 ),3599 migrations.DeleteModel(3600 name='WkTWebuserlog20190221',3601 ),3602 migrations.DeleteModel(3603 name='WkTWebuserlog20190222',3604 ),3605 migrations.DeleteModel(3606 name='WkTWebuserlog20190223',3607 ),3608 migrations.DeleteModel(3609 name='WkTWebuserlog20190224',3610 ),3611 migrations.DeleteModel(3612 name='WkTWebuserlog20190225',3613 ),3614 migrations.DeleteModel(3615 name='WkTWebuserlog20190226',3616 ),3617 migrations.DeleteModel(3618 name='WkTWebuserlog20190227',3619 ),3620 migrations.DeleteModel(3621 name='WkTWebuserlog20190228',3622 ),3623 migrations.DeleteModel(3624 name='WkTWebuserlog20190301',3625 ),3626 migrations.DeleteModel(3627 name='WkTWebuserlog20190302',3628 ),3629 migrations.DeleteModel(3630 name='WkTWebuserlog20190303',3631 ),3632 migrations.DeleteModel(3633 name='WkTWebuserlog20190304',3634 ),3635 migrations.DeleteModel(3636 name='WkTWebuserlog20190305',3637 ),3638 migrations.DeleteModel(3639 name='WkTWebuserlog20190306',3640 ),3641 migrations.DeleteModel(3642 name='WkTWebuserlog20190307',3643 ),3644 migrations.DeleteModel(3645 name='WkTWebuserlog20190308',3646 ),3647 migrations.DeleteModel(3648 name='WkTWebuserlog20190309',3649 ),3650 migrations.DeleteModel(3651 name='WkTWebuserlog20190310',3652 ),3653 migrations.DeleteModel(3654 name='WkTWebuserlog20190311',3655 ),3656 migrations.DeleteModel(3657 name='WkTWebuserlog20190312',3658 ),3659 migrations.DeleteModel(3660 name='WkTWebuserlog20190313',3661 ),3662 migrations.DeleteModel(3663 name='WkTWebuserlog20190314',3664 ),3665 migrations.DeleteModel(3666 name='WkTWebuserlog20190315',3667 ),3668 migrations.DeleteModel(3669 name='WkTWebuserlog20190316',3670 ),3671 migrations.DeleteModel(3672 name='WkTWebuserlog20190317',3673 ),3674 migrations.DeleteModel(3675 name='WkTWebuserlog20190318',3676 ),3677 migrations.DeleteModel(3678 name='WkTWebuserlog20190319',3679 ),3680 migrations.DeleteModel(3681 name='WkTWebuserlog20190320',3682 ),3683 migrations.DeleteModel(3684 name='WkTWebuserlog20190321',3685 ),3686 migrations.DeleteModel(3687 name='WkTWebuserlog20190322',3688 ),3689 migrations.DeleteModel(3690 name='WkTWebuserlog20190323',3691 ),3692 migrations.DeleteModel(3693 name='WkTWebuserlog20190324',3694 ),3695 migrations.DeleteModel(3696 name='WkTWebuserlog20190325',3697 ),3698 migrations.DeleteModel(3699 name='WkTWebuserlog20190326',3700 ),3701 migrations.DeleteModel(3702 name='WkTWebuserlog20190327',3703 ),3704 migrations.DeleteModel(3705 name='WkTWebuserlog20190328',3706 ),3707 migrations.DeleteModel(3708 name='WkTWebuserlog20190329',3709 ),3710 migrations.DeleteModel(3711 name='WkTWebuserlog20190330',3712 ),3713 migrations.DeleteModel(3714 name='WkTWebuserlog20190331',3715 ),3716 migrations.DeleteModel(3717 name='WkTWebuserlog20190401',3718 ),3719 migrations.DeleteModel(3720 name='WkTWebuserlog20190402',3721 ),3722 migrations.DeleteModel(3723 name='WkTWebuserlog20190403',3724 ),3725 migrations.DeleteModel(3726 name='WkTWebuserlog20190404',3727 ),3728 migrations.DeleteModel(3729 name='WkTWebuserlog20190405',3730 ),3731 migrations.DeleteModel(3732 name='WkTWebuserlog20190406',3733 ),3734 migrations.DeleteModel(3735 name='WkTWebuserlog20190407',3736 ),3737 migrations.DeleteModel(3738 name='WkTWebuserlog20190408',3739 ),3740 migrations.DeleteModel(3741 name='WkTWebuserlog20190409',3742 ),3743 migrations.DeleteModel(3744 name='WkTWebuserlog20190410',3745 ),3746 migrations.DeleteModel(3747 name='WkTWebuserlog20190411',3748 ),3749 migrations.DeleteModel(3750 name='WkTWebuserlog20190412',3751 ),3752 migrations.DeleteModel(3753 name='WkTWebuserlog20190413',3754 ),3755 migrations.DeleteModel(3756 name='WkTWebuserlog20190414',3757 ),3758 migrations.DeleteModel(3759 name='WkTWebuserlog20190415',3760 ),3761 migrations.DeleteModel(3762 name='WkTWebuserlog20190416',3763 ),3764 migrations.DeleteModel(3765 name='WkTWebuserlog20190417',3766 ),3767 migrations.DeleteModel(3768 name='WkTWebuserlog20190418',3769 ),3770 migrations.DeleteModel(3771 name='WkTWebuserlog20190419',3772 ),3773 migrations.DeleteModel(3774 name='WkTWebuserlog20190420',3775 ),3776 migrations.DeleteModel(3777 name='WkTWebuserlog20190421',3778 ),3779 migrations.DeleteModel(3780 name='WkTWebuserlog20190422',3781 ),3782 migrations.DeleteModel(3783 name='WkTWebuserlog20190423',3784 ),3785 migrations.DeleteModel(3786 name='WkTWebuserlog20190424',3787 ),3788 migrations.DeleteModel(3789 name='WkTWebuserlog20190425',3790 ),3791 migrations.DeleteModel(3792 name='WkTWebuserlog20190426',3793 ),3794 migrations.DeleteModel(3795 name='WkTWebuserlog20190427',3796 ),3797 migrations.DeleteModel(3798 name='WkTWebuserlog20190428',3799 ),3800 migrations.DeleteModel(3801 name='WkTWebuserlog20190429',3802 ),3803 migrations.DeleteModel(3804 name='WkTWebuserlog20190430',3805 ),3806 migrations.DeleteModel(3807 name='WkTWebuserlog20190501',3808 ),3809 migrations.DeleteModel(3810 name='WkTWebuserlog20190502',3811 ),3812 migrations.DeleteModel(3813 name='WkTWebuserlog20190503',3814 ),3815 migrations.DeleteModel(3816 name='WkTWebuserlog20190504',3817 ),3818 migrations.DeleteModel(3819 name='WkTWebuserlog20190505',3820 ),3821 migrations.DeleteModel(3822 name='WkTWebuserlog20190506',3823 ),3824 migrations.DeleteModel(3825 name='WkTWebuserlog20190507',3826 ),3827 migrations.DeleteModel(3828 name='WkTWebuserlog20190508',3829 ),3830 migrations.DeleteModel(3831 name='WkTWebuserlog20190509',3832 ),3833 migrations.DeleteModel(3834 name='WkTWebuserlog20190510',3835 ),3836 migrations.DeleteModel(3837 name='WkTWebuserlog20190511',3838 ),3839 migrations.DeleteModel(3840 name='WkTWebuserlog20190512',3841 ),3842 migrations.DeleteModel(3843 name='WkTWebuserlog20190513',3844 ),3845 migrations.DeleteModel(3846 name='WkTWebuserlog20190514',3847 ),3848 migrations.DeleteModel(3849 name='WkTWebuserlog20190515',3850 ),3851 migrations.DeleteModel(3852 name='WkTWebuserlog20190516',3853 ),3854 migrations.DeleteModel(3855 name='WkTWebuserlog20190517',3856 ),3857 migrations.DeleteModel(3858 name='WkTWebuserlog20190518',3859 ),3860 migrations.DeleteModel(3861 name='WkTWebuserlog20190519',3862 ),3863 migrations.DeleteModel(3864 name='WkTWebuserlog20190520',3865 ),3866 migrations.DeleteModel(3867 name='WkTWebuserlog20190521',3868 ),3869 migrations.DeleteModel(3870 name='WkTWebuserlog20190522',3871 ),3872 migrations.DeleteModel(3873 name='WkTWebuserlog20190523',3874 ),3875 migrations.DeleteModel(3876 name='WkTWebuserlog20190524',3877 ),3878 migrations.DeleteModel(3879 name='WkTWebuserlog20190525',3880 ),3881 migrations.DeleteModel(3882 name='WkTWebuserlog20190526',3883 ),3884 migrations.DeleteModel(3885 name='WkTWebuserlog20190527',3886 ),3887 migrations.DeleteModel(3888 name='WkTWebuserlog20190528',3889 ),3890 migrations.DeleteModel(3891 name='WkTWebuserlog20190529',3892 ),3893 migrations.DeleteModel(3894 name='WkTWebuserlog20190530',3895 ),3896 migrations.DeleteModel(3897 name='WkTWebuserlog20190531',3898 ),3899 migrations.DeleteModel(3900 name='WkTWebuserlog20190601',3901 ),3902 migrations.DeleteModel(3903 name='WkTWebuserlog20190602',3904 ),3905 migrations.DeleteModel(3906 name='WkTWebuserlog20190603',3907 ),3908 migrations.DeleteModel(3909 name='WkTWebuserlog20190604',3910 ),3911 migrations.DeleteModel(3912 name='WkTWebuserlog20190605',3913 ),3914 migrations.DeleteModel(3915 name='WkTWebuserlog20190606',3916 ),3917 migrations.DeleteModel(3918 name='WkTWebuserlog20190607',3919 ),3920 migrations.DeleteModel(3921 name='WkTWebuserlog20190608',3922 ),3923 migrations.DeleteModel(3924 name='WkTWebuserlog20190609',3925 ),3926 migrations.DeleteModel(3927 name='WkTWebuserlog20190610',3928 ),3929 migrations.DeleteModel(3930 name='WkTWebuserlog20190611',3931 ),3932 migrations.DeleteModel(3933 name='WkTWebuserlog20190612',3934 ),3935 migrations.DeleteModel(3936 name='WkTWebuserlog20190613',3937 ),3938 migrations.DeleteModel(3939 name='WkTWebuserlog20190614',3940 ),3941 migrations.DeleteModel(3942 name='WkTWebuserlog20190615',3943 ),3944 migrations.DeleteModel(3945 name='WkTWebuserlog20190616',3946 ),3947 migrations.DeleteModel(3948 name='WkTWebuserlog20190617',3949 ),3950 migrations.DeleteModel(3951 name='WkTWebuserlog20190618',3952 ),3953 migrations.DeleteModel(3954 name='WkTWebuserlog20190619',3955 ),3956 migrations.DeleteModel(3957 name='WkTWebuserlog20190620',3958 ),3959 migrations.DeleteModel(3960 name='WkTWebuserlog20190621',3961 ),3962 migrations.DeleteModel(3963 name='WkTWebuserlog20190622',3964 ),3965 migrations.DeleteModel(3966 name='WkTWebuserlog20190623',3967 ),3968 migrations.DeleteModel(3969 name='WkTWebuserlog20190624',3970 ),3971 migrations.DeleteModel(3972 name='WkTWebuserlog20190625',3973 ),3974 migrations.DeleteModel(3975 name='WkTWebuserlog20190626',3976 ),3977 migrations.DeleteModel(3978 name='WkTWebuserlog20190627',3979 ),3980 migrations.DeleteModel(3981 name='WkTWebuserlog20190628',3982 ),3983 migrations.DeleteModel(3984 name='WkTWebuserlog20190629',3985 ),3986 migrations.DeleteModel(3987 name='WkTWebuserlog20190630',3988 ),3989 migrations.DeleteModel(3990 name='WkTWebuserlog20190701',3991 ),3992 migrations.DeleteModel(3993 name='WkTWebuserlog20190702',3994 ),3995 migrations.DeleteModel(3996 name='WkTWebuserlog20190703',3997 ),3998 migrations.DeleteModel(3999 name='WkTWebuserlog20190704',4000 ),4001 migrations.DeleteModel(4002 name='WkTWebuserlog20190705',4003 ),4004 migrations.DeleteModel(4005 name='WkTWebuserlog20190706',4006 ),4007 migrations.DeleteModel(4008 name='WkTWebuserlog20190707',4009 ),4010 migrations.DeleteModel(4011 name='WkTWebuserlog20190708',4012 ),4013 migrations.DeleteModel(4014 name='WkTWebuserlog20190709',4015 ),4016 migrations.DeleteModel(4017 name='WkTWebuserlog20190710',4018 ),4019 migrations.DeleteModel(4020 name='WkTWebuserlog20190711',4021 ),4022 migrations.DeleteModel(4023 name='WkTWebuserlog20190712',4024 ),4025 migrations.DeleteModel(4026 name='WkTWebuserlog20190713',4027 ),4028 migrations.DeleteModel(4029 name='WkTWebuserlog20190714',4030 ),4031 migrations.DeleteModel(4032 name='WkTWebuserlog20190715',4033 ),4034 migrations.DeleteModel(4035 name='WkTWebuserlog20190716',4036 ),4037 migrations.DeleteModel(4038 name='WkTWebuserlog20190717',4039 ),4040 migrations.DeleteModel(4041 name='WkTWebuserlog20190718',4042 ),4043 migrations.DeleteModel(4044 name='WkTWebuserlog20190719',4045 ),4046 migrations.DeleteModel(4047 name='WkTWebuserlog20190720',4048 ),4049 migrations.DeleteModel(4050 name='WkTWebuserlog20190721',4051 ),4052 migrations.DeleteModel(4053 name='WkTWebuserlog20190722',4054 ),4055 migrations.DeleteModel(4056 name='WkTWebuserlog20190723',4057 ),4058 migrations.DeleteModel(4059 name='WkTWebuserlog20190724',4060 ),4061 migrations.DeleteModel(4062 name='WkTWebuserlog20190725',4063 ),4064 migrations.DeleteModel(4065 name='WkTWebuserlog20190726',4066 ),4067 migrations.DeleteModel(4068 name='WkTWebuserlog20190727',4069 ),4070 migrations.DeleteModel(4071 name='WkTWebuserlog20190728',4072 ),4073 migrations.DeleteModel(4074 name='WkTWebuserlog20190729',4075 ),4076 migrations.DeleteModel(4077 name='WkTWebuserlog20190730',4078 ),4079 migrations.DeleteModel(4080 name='WkTWebuserlog20190731',4081 ),4082 migrations.DeleteModel(4083 name='WkTWebuserlog20190801',4084 ),4085 migrations.DeleteModel(4086 name='WkTWebuserlog20190802',4087 ),4088 migrations.DeleteModel(4089 name='WkTWebuserlog20190803',4090 ),4091 migrations.DeleteModel(4092 name='WkTWebuserlog20190804',4093 ),4094 migrations.DeleteModel(4095 name='WkTWebuserlog20190805',4096 ),4097 migrations.DeleteModel(4098 name='WkTWebuserlog20190806',4099 ),4100 migrations.DeleteModel(4101 name='WkTWebuserlog20190807',4102 ),4103 migrations.DeleteModel(4104 name='WkTWebuserlog20190808',4105 ),4106 migrations.DeleteModel(4107 name='WkTWebuserlog20190809',4108 ),4109 migrations.DeleteModel(4110 name='WkTWebuserlog20190810',4111 ),4112 migrations.DeleteModel(4113 name='WkTWebuserlog20190811',4114 ),4115 migrations.DeleteModel(4116 name='WkTWebuserlog20190812',4117 ),4118 migrations.DeleteModel(4119 name='WkTWebuserlog20190813',4120 ),4121 migrations.DeleteModel(4122 name='WkTWebuserlog20190814',4123 ),4124 migrations.DeleteModel(4125 name='WkTWebuserlog20190815',4126 ),4127 migrations.DeleteModel(4128 name='WkTWebuserlog20190816',4129 ),4130 migrations.DeleteModel(4131 name='WkTWebuserlog20190817',4132 ),4133 migrations.DeleteModel(4134 name='WkTWebuserlog20190818',4135 ),4136 migrations.DeleteModel(4137 name='WkTWebuserlog20190819',4138 ),4139 migrations.DeleteModel(4140 name='WkTWebuserlog20190820',4141 ),4142 migrations.DeleteModel(4143 name='WkTWebuserlog20190821',4144 ),4145 migrations.DeleteModel(4146 name='WkTWebuserlog20190822',4147 ),4148 migrations.DeleteModel(4149 name='WkTWebuserlog20190823',4150 ),4151 migrations.DeleteModel(4152 name='WkTWebuserlog20190824',4153 ),4154 migrations.DeleteModel(4155 name='WkTWebuserlog20190825',4156 ),4157 migrations.DeleteModel(4158 name='WkTWebuserlog20190826',4159 ),4160 migrations.DeleteModel(4161 name='WkTWebuserlog20190827',4162 ),4163 migrations.DeleteModel(4164 name='WkTWebuserlog20190828',4165 ),4166 migrations.DeleteModel(4167 name='WkTWebuserlog20190829',4168 ),4169 migrations.DeleteModel(4170 name='WkTWebuserlog20190830',4171 ),4172 migrations.DeleteModel(4173 name='WkTWebuserlog20190831',4174 ),4175 migrations.DeleteModel(4176 name='WkTWebuserlog20190901',4177 ),4178 migrations.DeleteModel(4179 name='WkTWebuserlog20190902',4180 ),4181 migrations.DeleteModel(4182 name='WkTWebuserlog20190903',4183 ),4184 migrations.DeleteModel(4185 name='WkTWebuserlog20190904',4186 ),4187 migrations.DeleteModel(4188 name='WkTWebuserlog20190905',4189 ),4190 migrations.DeleteModel(4191 name='WkTWebuserlog20190906',4192 ),4193 migrations.DeleteModel(4194 name='WkTWebuserlog20190907',4195 ),4196 migrations.DeleteModel(4197 name='WkTWebuserlog20190908',4198 ),4199 migrations.DeleteModel(4200 name='WkTWebuserlog20190909',4201 ),4202 migrations.DeleteModel(4203 name='WkTWebuserlog20190910',4204 ),4205 migrations.DeleteModel(4206 name='WkTWebuserlog20190911',4207 ),4208 migrations.DeleteModel(4209 name='WkTWebuserlog20190912',4210 ),4211 migrations.DeleteModel(4212 name='WkTWebuserlog20190913',4213 ),4214 migrations.DeleteModel(4215 name='WkTWebuserlog20190914',4216 ),4217 migrations.DeleteModel(4218 name='WkTWebuserlog20190915',4219 ),4220 migrations.DeleteModel(4221 name='WkTWebuserlog20190916',4222 ),4223 migrations.DeleteModel(4224 name='WkTWebuserlog20190917',4225 ),4226 migrations.DeleteModel(4227 name='WkTWebuserlog20190918',4228 ),4229 migrations.DeleteModel(4230 name='WkTWebuserlog20190919',4231 ),4232 migrations.DeleteModel(4233 name='WkTWebuserlog20190920',4234 ),4235 migrations.DeleteModel(4236 name='WkTWebuserlog20190921',4237 ),4238 migrations.DeleteModel(4239 name='WkTWebuserlog20190922',4240 ),4241 migrations.DeleteModel(4242 name='WkTWebuserlog20190923',4243 ),4244 migrations.DeleteModel(4245 name='WkTWebuserlog20190924',4246 ),4247 migrations.DeleteModel(4248 name='WkTWebuserlog20190925',4249 ),4250 migrations.DeleteModel(4251 name='WkTWebuserlog20190926',4252 ),4253 migrations.DeleteModel(4254 name='WkTWebuserlog20190927',4255 ),4256 migrations.DeleteModel(4257 name='WkTWebuserlog20190928',4258 ),4259 migrations.DeleteModel(4260 name='WkTWebuserlog20190929',4261 ),4262 migrations.DeleteModel(4263 name='WkTWebuserlog20190930',4264 ),4265 migrations.DeleteModel(4266 name='WkTWebuserlog20191001',4267 ),4268 migrations.DeleteModel(4269 name='WkTWebuserlog20191002',4270 ),4271 migrations.DeleteModel(4272 name='WkTWebuserlog20191003',4273 ),4274 migrations.DeleteModel(4275 name='WkTWebuserlog20191004',4276 ),4277 migrations.DeleteModel(4278 name='WkTWebuserlog20191005',4279 ),4280 migrations.DeleteModel(4281 name='WkTWebuserlog20191006',4282 ),4283 migrations.DeleteModel(4284 name='WkTWebuserlog20191007',4285 ),4286 migrations.DeleteModel(4287 name='WkTWebuserlog20191008',4288 ),4289 migrations.DeleteModel(4290 name='WkTWebuserlog20191009',4291 ),4292 migrations.DeleteModel(4293 name='WkTWebuserlog20191010',4294 ),4295 migrations.DeleteModel(4296 name='WkTWebuserlog20191011',4297 ),4298 migrations.DeleteModel(4299 name='WkTWebuserlog20191012',4300 ),4301 migrations.DeleteModel(4302 name='WkTWebuserlog20191013',4303 ),4304 migrations.DeleteModel(4305 name='WkTWebuserlog20191014',4306 ),4307 migrations.DeleteModel(4308 name='WkTWebuserlog20191015',4309 ),4310 migrations.DeleteModel(4311 name='WkTWebuserlog20191016',4312 ),4313 migrations.DeleteModel(4314 name='WkTWebuserlog20191017',4315 ),4316 migrations.DeleteModel(4317 name='WkTWebuserlog20191018',4318 ),4319 migrations.DeleteModel(4320 name='WkTWebuserlog20191019',4321 ),4322 migrations.DeleteModel(4323 name='WkTWebuserlog20191020',4324 ),4325 migrations.DeleteModel(4326 name='WkTWebuserlog20191021',4327 ),4328 migrations.DeleteModel(4329 name='WkTWebuserlog20191022',4330 ),4331 migrations.DeleteModel(4332 name='WkTWebuserlog20191023',4333 ),4334 migrations.DeleteModel(4335 name='WkTWebuserlog20191024',4336 ),4337 migrations.DeleteModel(4338 name='WkTWebuserlog20191025',4339 ),4340 migrations.DeleteModel(4341 name='WkTWebuserlog20191026',4342 ),4343 migrations.DeleteModel(4344 name='WkTWebuserlog20191027',4345 ),4346 migrations.DeleteModel(4347 name='WkTWebuserlog20191028',4348 ),4349 migrations.DeleteModel(4350 name='WkTWebuserlog20191029',4351 ),4352 migrations.DeleteModel(4353 name='WkTWebuserlog20191030',4354 ),4355 migrations.DeleteModel(4356 name='WkTWebuserlog20191031',4357 ),4358 migrations.DeleteModel(4359 name='WkTWebuserlog20191101',4360 ),4361 migrations.DeleteModel(4362 name='WkTWebuserlog20191102',4363 ),4364 migrations.DeleteModel(4365 name='WkTWebuserlog20191103',4366 ),4367 migrations.DeleteModel(4368 name='WkTWebuserlog20191104',4369 ),4370 migrations.DeleteModel(4371 name='WkTWebuserlog20191105',4372 ),4373 migrations.DeleteModel(4374 name='WkTWebuserlog20191106',4375 ),4376 migrations.DeleteModel(4377 name='WkTWebuserlog20191107',4378 ),4379 migrations.DeleteModel(4380 name='WkTWebuserlog20191108',4381 ),4382 migrations.DeleteModel(4383 name='WkTWebuserlog20191109',4384 ),4385 migrations.DeleteModel(4386 name='WkTWebuserlog20191110',4387 ),4388 migrations.DeleteModel(4389 name='WkTWebuserlog20191111',4390 ),4391 migrations.DeleteModel(4392 name='WkTWebuserlog20191112',4393 ),4394 migrations.DeleteModel(4395 name='WkTWebuserlog20191113',4396 ),4397 migrations.DeleteModel(4398 name='WkTWebuserlog20191114',4399 ),4400 migrations.DeleteModel(4401 name='WkTWebuserlog20191115',4402 ),4403 migrations.DeleteModel(4404 name='WkTWebuserlog20191116',4405 ),4406 migrations.DeleteModel(4407 name='WkTWebuserlog20191117',4408 ),4409 migrations.DeleteModel(4410 name='WkTWebuserlog20191118',4411 ),4412 migrations.DeleteModel(4413 name='WkTWebuserlog20191119',4414 ),4415 migrations.DeleteModel(4416 name='WkTWebuserlog20191120',4417 ),4418 migrations.DeleteModel(4419 name='WkTWebuserlog20191121',4420 ),4421 migrations.DeleteModel(4422 name='WkTWebuserlog20191122',4423 ),4424 migrations.DeleteModel(4425 name='WkTWebuserlog20191123',4426 ),4427 migrations.DeleteModel(4428 name='WkTWebuserlog20191124',4429 ),4430 migrations.DeleteModel(4431 name='WkTWebuserlog20191125',4432 ),4433 migrations.DeleteModel(4434 name='WkTWebuserlog20191126',4435 ),4436 migrations.DeleteModel(4437 name='WkTWebuserlog20191127',4438 ),4439 migrations.DeleteModel(4440 name='WkTWebuserlog20191128',4441 ),4442 migrations.DeleteModel(4443 name='WkTWebuserlog20191129',4444 ),4445 migrations.DeleteModel(4446 name='WkTWebuserlog20191130',4447 ),4448 migrations.DeleteModel(4449 name='WkTWebuserlog20191201',4450 ),4451 migrations.DeleteModel(4452 name='WkTWebuserlog20191202',4453 ),4454 migrations.DeleteModel(4455 name='WkTWebuserlog20191203',4456 ),4457 migrations.DeleteModel(4458 name='WkTWebuserlog20191204',4459 ),4460 migrations.DeleteModel(4461 name='WkTWebuserlog20191205',4462 ),4463 migrations.DeleteModel(4464 name='WkTWebuserlog20191206',4465 ),4466 migrations.DeleteModel(4467 name='WkTWebuserlog20191207',4468 ),4469 migrations.DeleteModel(4470 name='WkTWebuserlog20191208',4471 ),4472 migrations.DeleteModel(4473 name='WkTWebuserlog20191209',4474 ),4475 migrations.DeleteModel(4476 name='WkTWebuserlog20191210',4477 ),4478 migrations.DeleteModel(4479 name='WkTWebuserlog20191211',4480 ),4481 migrations.DeleteModel(4482 name='WkTWebuserlog20191212',4483 ),4484 migrations.DeleteModel(4485 name='WkTWebuserlog20191213',4486 ),4487 migrations.DeleteModel(4488 name='WkTWebuserlog20191214',4489 ),4490 migrations.DeleteModel(4491 name='WkTWebuserlog20191215',4492 ),4493 migrations.DeleteModel(4494 name='WkTWebuserlog20191216',4495 ),4496 migrations.DeleteModel(4497 name='WkTWebuserlog20191217',4498 ),4499 migrations.DeleteModel(4500 name='WkTWebuserlog20191218',4501 ),4502 migrations.DeleteModel(4503 name='WkTWebuserlog20191219',4504 ),4505 migrations.DeleteModel(4506 name='WkTWebuserlog20191220',4507 ),4508 migrations.DeleteModel(4509 name='WkTWebuserlog20191221',4510 ),4511 migrations.DeleteModel(4512 name='WkTWebuserlog20191222',4513 ),4514 migrations.DeleteModel(4515 name='WkTWebuserlog20191223',4516 ),4517 migrations.DeleteModel(4518 name='WkTWebuserlog20191224',4519 ),4520 migrations.DeleteModel(4521 name='WkTWebuserlog20191225',4522 ),4523 migrations.DeleteModel(4524 name='WkTWebuserlog20191226',4525 ),4526 migrations.DeleteModel(4527 name='WkTWebuserlog20191227',4528 ),4529 migrations.DeleteModel(4530 name='WkTWebuserlog20191228',4531 ),4532 migrations.DeleteModel(4533 name='WkTWebuserlog20191229',4534 ),4535 migrations.DeleteModel(4536 name='WkTWebuserlog20191230',4537 ),4538 migrations.DeleteModel(4539 name='WkTWebuserlog20191231',4540 ),4541 migrations.DeleteModel(4542 name='WkTWebuserlog20200101',4543 ),4544 migrations.DeleteModel(4545 name='WkTWebuserlog20200102',4546 ),4547 migrations.DeleteModel(4548 name='WkTWebuserlog20200103',4549 ),4550 migrations.DeleteModel(4551 name='WkTWebuserlog20200104',4552 ),4553 migrations.DeleteModel(4554 name='WkTWebuserlog20200105',4555 ),4556 migrations.DeleteModel(4557 name='WkTWebuserlog20200106',4558 ),4559 migrations.DeleteModel(4560 name='WkTWebuserlog20200107',4561 ),4562 migrations.DeleteModel(4563 name='YjPhonePush',4564 ),4565 migrations.DeleteModel(4566 name='YqllSearchContent',4567 ),...
tests.py
Source:tests.py
...14 def setUp(self):15 self.DEFAULT = get_default_r()16 def test_auto(self):17 a = create_a('auto')18 a.auto.delete()19 self.assertFalse(A.objects.filter(name='auto').exists())20 def test_non_callable(self):21 msg = 'on_delete must be callable.'22 with self.assertRaisesMessage(TypeError, msg):23 models.ForeignKey('self', on_delete=None)24 with self.assertRaisesMessage(TypeError, msg):25 models.OneToOneField('self', on_delete=None)26 def test_auto_nullable(self):27 a = create_a('auto_nullable')28 a.auto_nullable.delete()29 self.assertFalse(A.objects.filter(name='auto_nullable').exists())30 def test_setvalue(self):31 a = create_a('setvalue')32 a.setvalue.delete()33 a = A.objects.get(pk=a.pk)34 self.assertEqual(self.DEFAULT, a.setvalue.pk)35 def test_setnull(self):36 a = create_a('setnull')37 a.setnull.delete()38 a = A.objects.get(pk=a.pk)39 self.assertIsNone(a.setnull)40 def test_setdefault(self):41 a = create_a('setdefault')42 a.setdefault.delete()43 a = A.objects.get(pk=a.pk)44 self.assertEqual(self.DEFAULT, a.setdefault.pk)45 def test_setdefault_none(self):46 a = create_a('setdefault_none')47 a.setdefault_none.delete()48 a = A.objects.get(pk=a.pk)49 self.assertIsNone(a.setdefault_none)50 def test_cascade(self):51 a = create_a('cascade')52 a.cascade.delete()53 self.assertFalse(A.objects.filter(name='cascade').exists())54 def test_cascade_nullable(self):55 a = create_a('cascade_nullable')56 a.cascade_nullable.delete()57 self.assertFalse(A.objects.filter(name='cascade_nullable').exists())58 def test_protect(self):59 a = create_a('protect')60 msg = (61 "Cannot delete some instances of model 'R' because they are "62 "referenced through protected foreign keys: 'A.protect'."63 )64 with self.assertRaisesMessage(ProtectedError, msg):65 a.protect.delete()66 def test_protect_multiple(self):67 a = create_a('protect')68 B.objects.create(protect=a.protect)69 msg = (70 "Cannot delete some instances of model 'R' because they are "71 "referenced through protected foreign keys: 'A.protect', "72 "'B.protect'."73 )74 with self.assertRaisesMessage(ProtectedError, msg):75 a.protect.delete()76 def test_protect_path(self):77 a = create_a('protect')78 a.protect.p = P.objects.create()79 a.protect.save()80 msg = (81 "Cannot delete some instances of model 'P' because they are "82 "referenced through protected foreign keys: 'R.p'."83 )84 with self.assertRaisesMessage(ProtectedError, msg):85 a.protect.p.delete()86 def test_do_nothing(self):87 # Testing DO_NOTHING is a bit harder: It would raise IntegrityError for a normal model,88 # so we connect to pre_delete and set the fk to a known value.89 replacement_r = R.objects.create()90 def check_do_nothing(sender, **kwargs):91 obj = kwargs['instance']92 obj.donothing_set.update(donothing=replacement_r)93 models.signals.pre_delete.connect(check_do_nothing)94 a = create_a('do_nothing')95 a.donothing.delete()96 a = A.objects.get(pk=a.pk)97 self.assertEqual(replacement_r, a.donothing)98 models.signals.pre_delete.disconnect(check_do_nothing)99 def test_do_nothing_qscount(self):100 """101 A models.DO_NOTHING relation doesn't trigger a query.102 """103 b = Base.objects.create()104 with self.assertNumQueries(1):105 # RelToBase should not be queried.106 b.delete()107 self.assertEqual(Base.objects.count(), 0)108 def test_inheritance_cascade_up(self):109 child = RChild.objects.create()110 child.delete()111 self.assertFalse(R.objects.filter(pk=child.pk).exists())112 def test_inheritance_cascade_down(self):113 child = RChild.objects.create()114 parent = child.r_ptr115 parent.delete()116 self.assertFalse(RChild.objects.filter(pk=child.pk).exists())117 def test_cascade_from_child(self):118 a = create_a('child')119 a.child.delete()120 self.assertFalse(A.objects.filter(name='child').exists())121 self.assertFalse(R.objects.filter(pk=a.child_id).exists())122 def test_cascade_from_parent(self):123 a = create_a('child')124 R.objects.get(pk=a.child_id).delete()125 self.assertFalse(A.objects.filter(name='child').exists())126 self.assertFalse(RChild.objects.filter(pk=a.child_id).exists())127 def test_setnull_from_child(self):128 a = create_a('child_setnull')129 a.child_setnull.delete()130 self.assertFalse(R.objects.filter(pk=a.child_setnull_id).exists())131 a = A.objects.get(pk=a.pk)132 self.assertIsNone(a.child_setnull)133 def test_setnull_from_parent(self):134 a = create_a('child_setnull')135 R.objects.get(pk=a.child_setnull_id).delete()136 self.assertFalse(RChild.objects.filter(pk=a.child_setnull_id).exists())137 a = A.objects.get(pk=a.pk)138 self.assertIsNone(a.child_setnull)139 def test_o2o_setnull(self):140 a = create_a('o2o_setnull')141 a.o2o_setnull.delete()142 a = A.objects.get(pk=a.pk)143 self.assertIsNone(a.o2o_setnull)144 def test_restrict(self):145 a = create_a('restrict')146 msg = (147 "Cannot delete some instances of model 'R' because they are "148 "referenced through restricted foreign keys: 'A.restrict'."149 )150 with self.assertRaisesMessage(RestrictedError, msg):151 a.restrict.delete()152 def test_restrict_multiple(self):153 a = create_a('restrict')154 B3.objects.create(restrict=a.restrict)155 msg = (156 "Cannot delete some instances of model 'R' because they are "157 "referenced through restricted foreign keys: 'A.restrict', "158 "'B3.restrict'."159 )160 with self.assertRaisesMessage(RestrictedError, msg):161 a.restrict.delete()162 def test_restrict_path_cascade_indirect(self):163 a = create_a('restrict')164 a.restrict.p = P.objects.create()165 a.restrict.save()166 msg = (167 "Cannot delete some instances of model 'P' because they are "168 "referenced through restricted foreign keys: 'A.restrict'."169 )170 with self.assertRaisesMessage(RestrictedError, msg):171 a.restrict.p.delete()172 # Object referenced also with CASCADE relationship can be deleted.173 a.cascade.p = a.restrict.p174 a.cascade.save()175 a.restrict.p.delete()176 self.assertFalse(A.objects.filter(name='restrict').exists())177 self.assertFalse(R.objects.filter(pk=a.restrict_id).exists())178 def test_restrict_path_cascade_direct(self):179 a = create_a('restrict')180 a.restrict.p = P.objects.create()181 a.restrict.save()182 a.cascade_p = a.restrict.p183 a.save()184 a.restrict.p.delete()185 self.assertFalse(A.objects.filter(name='restrict').exists())186 self.assertFalse(R.objects.filter(pk=a.restrict_id).exists())187 def test_restrict_path_cascade_indirect_diamond(self):188 delete_top = DeleteTop.objects.create()189 b1 = B1.objects.create(delete_top=delete_top)190 b2 = B2.objects.create(delete_top=delete_top)191 DeleteBottom.objects.create(b1=b1, b2=b2)192 msg = (193 "Cannot delete some instances of model 'B1' because they are "194 "referenced through restricted foreign keys: 'DeleteBottom.b1'."195 )196 with self.assertRaisesMessage(RestrictedError, msg):197 b1.delete()198 self.assertTrue(DeleteTop.objects.exists())199 self.assertTrue(B1.objects.exists())200 self.assertTrue(B2.objects.exists())201 self.assertTrue(DeleteBottom.objects.exists())202 # Object referenced also with CASCADE relationship can be deleted.203 delete_top.delete()204 self.assertFalse(DeleteTop.objects.exists())205 self.assertFalse(B1.objects.exists())206 self.assertFalse(B2.objects.exists())207 self.assertFalse(DeleteBottom.objects.exists())208 def test_restrict_gfk_no_fast_delete(self):209 delete_top = DeleteTop.objects.create()210 generic_b1 = GenericB1.objects.create(generic_delete_top=delete_top)211 generic_b2 = GenericB2.objects.create(generic_delete_top=delete_top)212 GenericDeleteBottom.objects.create(generic_b1=generic_b1, generic_b2=generic_b2)213 msg = (214 "Cannot delete some instances of model 'GenericB1' because they "215 "are referenced through restricted foreign keys: "216 "'GenericDeleteBottom.generic_b1'."217 )218 with self.assertRaisesMessage(RestrictedError, msg):219 generic_b1.delete()220 self.assertTrue(DeleteTop.objects.exists())221 self.assertTrue(GenericB1.objects.exists())222 self.assertTrue(GenericB2.objects.exists())223 self.assertTrue(GenericDeleteBottom.objects.exists())224 # Object referenced also with CASCADE relationship can be deleted.225 delete_top.delete()226 self.assertFalse(DeleteTop.objects.exists())227 self.assertFalse(GenericB1.objects.exists())228 self.assertFalse(GenericB2.objects.exists())229 self.assertFalse(GenericDeleteBottom.objects.exists())230class DeletionTests(TestCase):231 def test_m2m(self):232 m = M.objects.create()233 r = R.objects.create()234 MR.objects.create(m=m, r=r)235 r.delete()236 self.assertFalse(MR.objects.exists())237 r = R.objects.create()238 MR.objects.create(m=m, r=r)239 m.delete()240 self.assertFalse(MR.objects.exists())241 m = M.objects.create()242 r = R.objects.create()243 m.m2m.add(r)244 r.delete()245 through = M._meta.get_field('m2m').remote_field.through246 self.assertFalse(through.objects.exists())247 r = R.objects.create()248 m.m2m.add(r)249 m.delete()250 self.assertFalse(through.objects.exists())251 m = M.objects.create()252 r = R.objects.create()253 MRNull.objects.create(m=m, r=r)254 r.delete()255 self.assertFalse(not MRNull.objects.exists())256 self.assertFalse(m.m2m_through_null.exists())257 def test_bulk(self):258 s = S.objects.create(r=R.objects.create())259 for i in range(2 * GET_ITERATOR_CHUNK_SIZE):260 T.objects.create(s=s)261 # 1 (select related `T` instances)262 # + 1 (select related `U` instances)263 # + 2 (delete `T` instances in batches)264 # + 1 (delete `s`)265 self.assertNumQueries(5, s.delete)266 self.assertFalse(S.objects.exists())267 def test_instance_update(self):268 deleted = []269 related_setnull_sets = []270 def pre_delete(sender, **kwargs):271 obj = kwargs['instance']272 deleted.append(obj)273 if isinstance(obj, R):274 related_setnull_sets.append([a.pk for a in obj.setnull_set.all()])275 models.signals.pre_delete.connect(pre_delete)276 a = create_a('update_setnull')277 a.setnull.delete()278 a = create_a('update_cascade')279 a.cascade.delete()280 for obj in deleted:281 self.assertIsNone(obj.pk)282 for pk_list in related_setnull_sets:283 for a in A.objects.filter(id__in=pk_list):284 self.assertIsNone(a.setnull)285 models.signals.pre_delete.disconnect(pre_delete)286 def test_deletion_order(self):287 pre_delete_order = []288 post_delete_order = []289 def log_post_delete(sender, **kwargs):290 pre_delete_order.append((sender, kwargs['instance'].pk))291 def log_pre_delete(sender, **kwargs):292 post_delete_order.append((sender, kwargs['instance'].pk))293 models.signals.post_delete.connect(log_post_delete)294 models.signals.pre_delete.connect(log_pre_delete)295 r = R.objects.create(pk=1)296 s1 = S.objects.create(pk=1, r=r)297 s2 = S.objects.create(pk=2, r=r)298 T.objects.create(pk=1, s=s1)299 T.objects.create(pk=2, s=s2)300 RChild.objects.create(r_ptr=r)301 r.delete()302 self.assertEqual(303 pre_delete_order, [(T, 2), (T, 1), (RChild, 1), (S, 2), (S, 1), (R, 1)]304 )305 self.assertEqual(306 post_delete_order, [(T, 1), (T, 2), (RChild, 1), (S, 1), (S, 2), (R, 1)]307 )308 models.signals.post_delete.disconnect(log_post_delete)309 models.signals.pre_delete.disconnect(log_pre_delete)310 def test_relational_post_delete_signals_happen_before_parent_object(self):311 deletions = []312 def log_post_delete(instance, **kwargs):313 self.assertTrue(R.objects.filter(pk=instance.r_id))314 self.assertIs(type(instance), S)315 deletions.append(instance.id)316 r = R.objects.create(pk=1)317 S.objects.create(pk=1, r=r)318 models.signals.post_delete.connect(log_post_delete, sender=S)319 try:320 r.delete()321 finally:322 models.signals.post_delete.disconnect(log_post_delete)323 self.assertEqual(len(deletions), 1)324 self.assertEqual(deletions[0], 1)325 @skipUnlessDBFeature("can_defer_constraint_checks")326 def test_can_defer_constraint_checks(self):327 u = User.objects.create(328 avatar=Avatar.objects.create()329 )330 a = Avatar.objects.get(pk=u.avatar_id)331 # 1 query to find the users for the avatar.332 # 1 query to delete the user333 # 1 query to delete the avatar334 # The important thing is that when we can defer constraint checks there335 # is no need to do an UPDATE on User.avatar to null it out.336 # Attach a signal to make sure we will not do fast_deletes.337 calls = []338 def noop(*args, **kwargs):339 calls.append('')340 models.signals.post_delete.connect(noop, sender=User)341 self.assertNumQueries(3, a.delete)342 self.assertFalse(User.objects.exists())343 self.assertFalse(Avatar.objects.exists())344 self.assertEqual(len(calls), 1)345 models.signals.post_delete.disconnect(noop, sender=User)346 @skipIfDBFeature("can_defer_constraint_checks")347 def test_cannot_defer_constraint_checks(self):348 u = User.objects.create(349 avatar=Avatar.objects.create()350 )351 # Attach a signal to make sure we will not do fast_deletes.352 calls = []353 def noop(*args, **kwargs):354 calls.append('')355 models.signals.post_delete.connect(noop, sender=User)356 a = Avatar.objects.get(pk=u.avatar_id)357 # The below doesn't make sense... Why do we need to null out358 # user.avatar if we are going to delete the user immediately after it,359 # and there are no more cascades.360 # 1 query to find the users for the avatar.361 # 1 query to delete the user362 # 1 query to null out user.avatar, because we can't defer the constraint363 # 1 query to delete the avatar364 self.assertNumQueries(4, a.delete)365 self.assertFalse(User.objects.exists())366 self.assertFalse(Avatar.objects.exists())367 self.assertEqual(len(calls), 1)368 models.signals.post_delete.disconnect(noop, sender=User)369 def test_hidden_related(self):370 r = R.objects.create()371 h = HiddenUser.objects.create(r=r)372 HiddenUserProfile.objects.create(user=h)373 r.delete()374 self.assertEqual(HiddenUserProfile.objects.count(), 0)375 def test_large_delete(self):376 TEST_SIZE = 2000377 objs = [Avatar() for i in range(0, TEST_SIZE)]378 Avatar.objects.bulk_create(objs)379 # Calculate the number of queries needed.380 batch_size = connection.ops.bulk_batch_size(['pk'], objs)381 # The related fetches are done in batches.382 batches = ceil(len(objs) / batch_size)383 # One query for Avatar.objects.all() and then one related fast delete for384 # each batch.385 fetches_to_mem = 1 + batches386 # The Avatar objects are going to be deleted in batches of GET_ITERATOR_CHUNK_SIZE387 queries = fetches_to_mem + TEST_SIZE // GET_ITERATOR_CHUNK_SIZE388 self.assertNumQueries(queries, Avatar.objects.all().delete)389 self.assertFalse(Avatar.objects.exists())390 def test_large_delete_related(self):391 TEST_SIZE = 2000392 s = S.objects.create(r=R.objects.create())393 for i in range(TEST_SIZE):394 T.objects.create(s=s)395 batch_size = max(connection.ops.bulk_batch_size(['pk'], range(TEST_SIZE)), 1)396 # TEST_SIZE / batch_size (select related `T` instances)397 # + 1 (select related `U` instances)398 # + TEST_SIZE / GET_ITERATOR_CHUNK_SIZE (delete `T` instances in batches)399 # + 1 (delete `s`)400 expected_num_queries = ceil(TEST_SIZE / batch_size)401 expected_num_queries += ceil(TEST_SIZE / GET_ITERATOR_CHUNK_SIZE) + 2402 self.assertNumQueries(expected_num_queries, s.delete)403 self.assertFalse(S.objects.exists())404 self.assertFalse(T.objects.exists())405 def test_delete_with_keeping_parents(self):406 child = RChild.objects.create()407 parent_id = child.r_ptr_id408 child.delete(keep_parents=True)409 self.assertFalse(RChild.objects.filter(id=child.id).exists())410 self.assertTrue(R.objects.filter(id=parent_id).exists())411 def test_delete_with_keeping_parents_relationships(self):412 child = RChild.objects.create()413 parent_id = child.r_ptr_id414 parent_referent_id = S.objects.create(r=child.r_ptr).pk415 child.delete(keep_parents=True)416 self.assertFalse(RChild.objects.filter(id=child.id).exists())417 self.assertTrue(R.objects.filter(id=parent_id).exists())418 self.assertTrue(S.objects.filter(pk=parent_referent_id).exists())419 childchild = RChildChild.objects.create()420 parent_id = childchild.rchild_ptr.r_ptr_id421 child_id = childchild.rchild_ptr_id422 parent_referent_id = S.objects.create(r=childchild.rchild_ptr.r_ptr).pk423 childchild.delete(keep_parents=True)424 self.assertFalse(RChildChild.objects.filter(id=childchild.id).exists())425 self.assertTrue(RChild.objects.filter(id=child_id).exists())426 self.assertTrue(R.objects.filter(id=parent_id).exists())427 self.assertTrue(S.objects.filter(pk=parent_referent_id).exists())428 def test_queryset_delete_returns_num_rows(self):429 """430 QuerySet.delete() should return the number of deleted rows and a431 dictionary with the number of deletions for each object type.432 """433 Avatar.objects.bulk_create([Avatar(desc='a'), Avatar(desc='b'), Avatar(desc='c')])434 avatars_count = Avatar.objects.count()435 deleted, rows_count = Avatar.objects.all().delete()436 self.assertEqual(deleted, avatars_count)437 # more complex example with multiple object types438 r = R.objects.create()439 h1 = HiddenUser.objects.create(r=r)440 HiddenUser.objects.create(r=r)441 HiddenUserProfile.objects.create(user=h1)442 existed_objs = {443 R._meta.label: R.objects.count(),444 HiddenUser._meta.label: HiddenUser.objects.count(),445 HiddenUserProfile._meta.label: HiddenUserProfile.objects.count(),446 }447 deleted, deleted_objs = R.objects.all().delete()448 self.assertCountEqual(deleted_objs.keys(), existed_objs.keys())449 for k, v in existed_objs.items():450 self.assertEqual(deleted_objs[k], v)451 def test_model_delete_returns_num_rows(self):452 """453 Model.delete() should return the number of deleted rows and a454 dictionary with the number of deletions for each object type.455 """456 r = R.objects.create()457 h1 = HiddenUser.objects.create(r=r)458 h2 = HiddenUser.objects.create(r=r)459 HiddenUser.objects.create(r=r)460 HiddenUserProfile.objects.create(user=h1)461 HiddenUserProfile.objects.create(user=h2)462 m1 = M.objects.create()463 m2 = M.objects.create()464 MR.objects.create(r=r, m=m1)465 r.m_set.add(m1)466 r.m_set.add(m2)467 r.save()468 existed_objs = {469 R._meta.label: R.objects.count(),470 HiddenUser._meta.label: HiddenUser.objects.count(),471 MR._meta.label: MR.objects.count(),472 HiddenUserProfile._meta.label: HiddenUserProfile.objects.count(),473 M.m2m.through._meta.label: M.m2m.through.objects.count(),474 }475 deleted, deleted_objs = r.delete()476 self.assertEqual(deleted, sum(existed_objs.values()))477 self.assertCountEqual(deleted_objs.keys(), existed_objs.keys())478 for k, v in existed_objs.items():479 self.assertEqual(deleted_objs[k], v)480 def test_proxied_model_duplicate_queries(self):481 """482 #25685 - Deleting instances of a model with existing proxy483 classes should not issue multiple queries during cascade484 deletion of referring models.485 """486 avatar = Avatar.objects.create()487 # One query for the Avatar table and a second for the User one.488 with self.assertNumQueries(2):489 avatar.delete()490 def test_only_referenced_fields_selected(self):491 """492 Only referenced fields are selected during cascade deletion SELECT493 unless deletion signals are connected.494 """495 origin = Origin.objects.create()496 expected_sql = str(497 Referrer.objects.only(498 # Both fields are referenced by SecondReferrer.499 'id', 'unique_field',500 ).filter(origin__in=[origin]).query501 )502 with self.assertNumQueries(2) as ctx:503 origin.delete()504 self.assertEqual(ctx.captured_queries[0]['sql'], expected_sql)505 def receiver(instance, **kwargs):506 pass507 # All fields are selected if deletion signals are connected.508 for signal_name in ('pre_delete', 'post_delete'):509 with self.subTest(signal=signal_name):510 origin = Origin.objects.create()511 signal = getattr(models.signals, signal_name)512 signal.connect(receiver, sender=Referrer)513 with self.assertNumQueries(2) as ctx:514 origin.delete()515 self.assertIn(516 connection.ops.quote_name('large_field'),517 ctx.captured_queries[0]['sql'],518 )519 signal.disconnect(receiver, sender=Referrer)520class FastDeleteTests(TestCase):521 def test_fast_delete_all(self):522 with self.assertNumQueries(1) as ctx:523 User.objects.all().delete()524 sql = ctx.captured_queries[0]['sql']525 # No subqueries is used when performing a full delete.526 self.assertNotIn('SELECT', sql)527 def test_fast_delete_fk(self):528 u = User.objects.create(529 avatar=Avatar.objects.create()530 )531 a = Avatar.objects.get(pk=u.avatar_id)532 # 1 query to fast-delete the user533 # 1 query to delete the avatar534 self.assertNumQueries(2, a.delete)535 self.assertFalse(User.objects.exists())536 self.assertFalse(Avatar.objects.exists())537 def test_fast_delete_m2m(self):538 t = M2MTo.objects.create()539 f = M2MFrom.objects.create()540 f.m2m.add(t)541 # 1 to delete f, 1 to fast-delete m2m for f542 self.assertNumQueries(2, f.delete)543 def test_fast_delete_revm2m(self):544 t = M2MTo.objects.create()545 f = M2MFrom.objects.create()546 f.m2m.add(t)547 # 1 to delete t, 1 to fast-delete t's m_set548 self.assertNumQueries(2, f.delete)549 def test_fast_delete_qs(self):550 u1 = User.objects.create()551 u2 = User.objects.create()552 self.assertNumQueries(1, User.objects.filter(pk=u1.pk).delete)553 self.assertEqual(User.objects.count(), 1)554 self.assertTrue(User.objects.filter(pk=u2.pk).exists())555 def test_fast_delete_instance_set_pk_none(self):556 u = User.objects.create()557 # User can be fast-deleted.558 collector = Collector(using='default')559 self.assertTrue(collector.can_fast_delete(u))560 u.delete()561 self.assertIsNone(u.pk)562 def test_fast_delete_joined_qs(self):563 a = Avatar.objects.create(desc='a')564 User.objects.create(avatar=a)565 u2 = User.objects.create()566 self.assertNumQueries(1, User.objects.filter(avatar__desc='a').delete)567 self.assertEqual(User.objects.count(), 1)568 self.assertTrue(User.objects.filter(pk=u2.pk).exists())569 def test_fast_delete_inheritance(self):570 c = Child.objects.create()571 p = Parent.objects.create()572 # 1 for self, 1 for parent573 self.assertNumQueries(2, c.delete)574 self.assertFalse(Child.objects.exists())575 self.assertEqual(Parent.objects.count(), 1)576 self.assertEqual(Parent.objects.filter(pk=p.pk).count(), 1)577 # 1 for self delete, 1 for fast delete of empty "child" qs.578 self.assertNumQueries(2, p.delete)579 self.assertFalse(Parent.objects.exists())580 # 1 for self delete, 1 for fast delete of empty "child" qs.581 c = Child.objects.create()582 p = c.parent_ptr583 self.assertNumQueries(2, p.delete)584 self.assertFalse(Parent.objects.exists())585 self.assertFalse(Child.objects.exists())586 def test_fast_delete_large_batch(self):587 User.objects.bulk_create(User() for i in range(0, 2000))588 # No problems here - we aren't going to cascade, so we will fast589 # delete the objects in a single query.590 self.assertNumQueries(1, User.objects.all().delete)591 a = Avatar.objects.create(desc='a')592 User.objects.bulk_create(User(avatar=a) for i in range(0, 2000))593 # We don't hit parameter amount limits for a, so just one query for594 # that + fast delete of the related objs.595 self.assertNumQueries(2, a.delete)596 self.assertEqual(User.objects.count(), 0)597 def test_fast_delete_empty_no_update_can_self_select(self):598 """599 #25932 - Fast deleting on backends that don't have the600 `no_update_can_self_select` feature should work even if the specified601 filter doesn't match any row.602 """603 with self.assertNumQueries(1):604 self.assertEqual(605 User.objects.filter(avatar__desc='missing').delete(),606 (0, {}),607 )608 def test_fast_delete_combined_relationships(self):609 # The cascading fast-delete of SecondReferrer should be combined610 # in a single DELETE WHERE referrer_id OR unique_field.611 origin = Origin.objects.create()612 referer = Referrer.objects.create(origin=origin, unique_field=42)613 with self.assertNumQueries(2):...
0003_auto_20200211_1535.py
Source:0003_auto_20200211_1535.py
1# Generated by Django 2.2.4 on 2020-02-11 07:362from django.db import migrations3class Migration(migrations.Migration):4 dependencies = [5 ('secretary', '0002_dinggroupmembermap'),6 ]7 operations = [8 migrations.DeleteModel(9 name='AgentsInfo',10 ),11 migrations.DeleteModel(12 name='AppImportData',13 ),14 migrations.DeleteModel(15 name='AppUsageStatistics',16 ),17 migrations.DeleteModel(18 name='Artificialearlywarning',19 ),20 migrations.DeleteModel(21 name='BakWkTUser20190915',22 ),23 migrations.DeleteModel(24 name='CalIdf',25 ),26 migrations.DeleteModel(27 name='CalIdfdocnum',28 ),29 migrations.DeleteModel(30 name='Checkurlcollection',31 ),32 migrations.DeleteModel(33 name='Checkurljob',34 ),35 migrations.DeleteModel(36 name='Cityhot',37 ),38 migrations.DeleteModel(39 name='Classlyproject',40 ),41 migrations.DeleteModel(42 name='Classlyrule',43 ),44 migrations.DeleteModel(45 name='Classlyrule1',46 ),47 migrations.DeleteModel(48 name='Classlyruleclassly',49 ),50 migrations.DeleteModel(51 name='Config',52 ),53 migrations.DeleteModel(54 name='CrmaccountmappingBak20191209',55 ),56 migrations.DeleteModel(57 name='Crmaccountsalemapping',58 ),59 migrations.DeleteModel(60 name='Crmsalemapping',61 ),62 migrations.DeleteModel(63 name='Crmtimelinedata',64 ),65 migrations.DeleteModel(66 name='Crmwpmapping',67 ),68 migrations.DeleteModel(69 name='DatacountAccurateCondition',70 ),71 migrations.DeleteModel(72 name='Domaincount',73 ),74 migrations.DeleteModel(75 name='Domainweight',76 ),77 migrations.DeleteModel(78 name='HomepageHeadlinesInfo',79 ),80 migrations.DeleteModel(81 name='Indexpart',82 ),83 migrations.DeleteModel(84 name='Indexpartmapping',85 ),86 migrations.DeleteModel(87 name='IndexSalerData',88 ),89 migrations.DeleteModel(90 name='IndexSalerProfileData',91 ),92 migrations.DeleteModel(93 name='Infoclassly',94 ),95 migrations.DeleteModel(96 name='IpAddress',97 ),98 migrations.DeleteModel(99 name='LawProtect',100 ),101 migrations.DeleteModel(102 name='Mobilecloudcourse',103 ),104 migrations.DeleteModel(105 name='Mobilecloudcourselectuer',106 ),107 migrations.DeleteModel(108 name='Mobilecloudcourseware',109 ),110 migrations.DeleteModel(111 name='Mobilecloudevent',112 ),113 migrations.DeleteModel(114 name='Mobilecloudsubject',115 ),116 migrations.DeleteModel(117 name='MobileLibrary',118 ),119 migrations.DeleteModel(120 name='MsAccount',121 ),122 migrations.DeleteModel(123 name='MsApiStatusLog',124 ),125 migrations.DeleteModel(126 name='MsEventKeywordsGroup',127 ),128 migrations.DeleteModel(129 name='MsEventKeywordsGroupSubjectRelation',130 ),131 migrations.DeleteModel(132 name='MsOutbox',133 ),134 migrations.DeleteModel(135 name='MsShareInfo',136 ),137 migrations.DeleteModel(138 name='MsSourceType',139 ),140 migrations.DeleteModel(141 name='MysqlDatasourceConfig',142 ),143 migrations.DeleteModel(144 name='Newwords',145 ),146 migrations.DeleteModel(147 name='Newwordsclassly',148 ),149 migrations.DeleteModel(150 name='Notwords',151 ),152 migrations.DeleteModel(153 name='OfficalAdvertise',154 ),155 migrations.DeleteModel(156 name='OfficalNews',157 ),158 migrations.DeleteModel(159 name='OfficalNewsContent',160 ),161 migrations.DeleteModel(162 name='OverseaSwitchChangeLog',163 ),164 migrations.DeleteModel(165 name='OverseaWeb',166 ),167 migrations.DeleteModel(168 name='OverseaWebtype',169 ),170 migrations.DeleteModel(171 name='Pnwords',172 ),173 migrations.DeleteModel(174 name='PreservationEvidenceApply',175 ),176 migrations.DeleteModel(177 name='PreservationEvidenceApplyRecord',178 ),179 migrations.DeleteModel(180 name='PreservationEvidenceRecord',181 ),182 migrations.DeleteModel(183 name='Projectclassly',184 ),185 migrations.DeleteModel(186 name='PushRegistInfoBak',187 ),188 migrations.DeleteModel(189 name='Reportclassify',190 ),191 migrations.DeleteModel(192 name='Reportfileinfo',193 ),194 migrations.DeleteModel(195 name='ReportTemplate',196 ),197 migrations.DeleteModel(198 name='Reportvariable',199 ),200 migrations.DeleteModel(201 name='Reportwords',202 ),203 migrations.DeleteModel(204 name='Saledatacount',205 ),206 migrations.DeleteModel(207 name='Salespart',208 ),209 migrations.DeleteModel(210 name='Salespartmapping',211 ),212 migrations.DeleteModel(213 name='SolrTCollectinfo',214 ),215 migrations.DeleteModel(216 name='SolrTCollectinfocnt',217 ),218 migrations.DeleteModel(219 name='SolrTExportcondition',220 ),221 migrations.DeleteModel(222 name='SolrTExportfield',223 ),224 migrations.DeleteModel(225 name='SubCompletionLog',226 ),227 migrations.DeleteModel(228 name='Subjectrelationlable',229 ),230 migrations.DeleteModel(231 name='SubjectUnselect',232 ),233 migrations.DeleteModel(234 name='SyncMonitor',235 ),236 migrations.DeleteModel(237 name='SystemTask',238 ),239 migrations.DeleteModel(240 name='TaskCenter',241 ),242 migrations.DeleteModel(243 name='TaskRequestInfo',244 ),245 migrations.DeleteModel(246 name='TC3P0Test',247 ),248 migrations.DeleteModel(249 name='Test',250 ),251 migrations.DeleteModel(252 name='Test199',253 ),254 migrations.DeleteModel(255 name='Test199Yj',256 ),257 migrations.DeleteModel(258 name='Testdataapi',259 ),260 migrations.DeleteModel(261 name='Testweiwen',262 ),263 migrations.DeleteModel(264 name='Topicauthorrelation',265 ),266 migrations.DeleteModel(267 name='Topicgdlines',268 ),269 migrations.DeleteModel(270 name='Topicrdpoint',271 ),272 migrations.DeleteModel(273 name='Topictfpoint',274 ),275 migrations.DeleteModel(276 name='Topicweiboauthorinfo',277 ),278 migrations.DeleteModel(279 name='Trainclassly',280 ),281 migrations.DeleteModel(282 name='Travelplantemplate',283 ),284 migrations.DeleteModel(285 name='Userdatacount',286 ),287 migrations.DeleteModel(288 name='Userdatestatuscount',289 ),290 migrations.DeleteModel(291 name='UserFilterKeyword',292 ),293 migrations.DeleteModel(294 name='Userpushnum',295 ),296 migrations.DeleteModel(297 name='UsersetChangeIllustrate',298 ),299 migrations.DeleteModel(300 name='Usertimelong',301 ),302 migrations.DeleteModel(303 name='WarningServiceApplication',304 ),305 migrations.DeleteModel(306 name='WarningServiceApplicationLog',307 ),308 migrations.DeleteModel(309 name='Warningstatuslog',310 ),311 migrations.DeleteModel(312 name='Warningtimesetting',313 ),314 migrations.DeleteModel(315 name='Warningtimesettingsystem',316 ),317 migrations.DeleteModel(318 name='Weibocomminfo',319 ),320 migrations.DeleteModel(321 name='WeixinCorpid',322 ),323 migrations.DeleteModel(324 name='WeixinPush',325 ),326 migrations.DeleteModel(327 name='WkTAccessNew',328 ),329 migrations.DeleteModel(330 name='WkTAgency',331 ),332 migrations.DeleteModel(333 name='WkTAgencyLoginPage',334 ),335 migrations.DeleteModel(336 name='WkTAgentApp',337 ),338 migrations.DeleteModel(339 name='WkTAgentAppJoblog',340 ),341 migrations.DeleteModel(342 name='WkTAgentAppStatus',343 ),344 migrations.DeleteModel(345 name='WkTAgentGroup',346 ),347 migrations.DeleteModel(348 name='WkTAgentNew',349 ),350 migrations.DeleteModel(351 name='WkTAgents',352 ),353 migrations.DeleteModel(354 name='WkTAgentuserGroup',355 ),356 migrations.DeleteModel(357 name='WkTAllexport',358 ),359 migrations.DeleteModel(360 name='WkTAnnualReport',361 ),362 migrations.DeleteModel(363 name='WkTAppedition',364 ),365 migrations.DeleteModel(366 name='WkTAppeditionZj',367 ),368 migrations.DeleteModel(369 name='WkTApply',370 ),371 migrations.DeleteModel(372 name='WkTAppSite',373 ),374 migrations.DeleteModel(375 name='WkTApptvedition',376 ),377 migrations.DeleteModel(378 name='WkTArea',379 ),380 migrations.DeleteModel(381 name='WkTAreaKeyws',382 ),383 migrations.DeleteModel(384 name='WkTBackendBlock',385 ),386 migrations.DeleteModel(387 name='WkTBackendframe',388 ),389 migrations.DeleteModel(390 name='WkTBackendRef',391 ),392 migrations.DeleteModel(393 name='WkTBackendRm',394 ),395 migrations.DeleteModel(396 name='WkTBackendrole',397 ),398 migrations.DeleteModel(399 name='WkTBar',400 ),401 migrations.DeleteModel(402 name='WkTBarnew',403 ),404 migrations.DeleteModel(405 name='WkTBarnewBack',406 ),407 migrations.DeleteModel(408 name='WkTBasekeytype',409 ),410 migrations.DeleteModel(411 name='WkTBasekeyws',412 ),413 migrations.DeleteModel(414 name='WkTBelongkefuNew',415 ),416 migrations.DeleteModel(417 name='WkTChannelTv',418 ),419 migrations.DeleteModel(420 name='WkTChannelUser',421 ),422 migrations.DeleteModel(423 name='WkTClassification',424 ),425 migrations.DeleteModel(426 name='WkTCommonKeyws',427 ),428 migrations.DeleteModel(429 name='WkTCompanyChangeinfo',430 ),431 migrations.DeleteModel(432 name='WkTCompanyUser',433 ),434 migrations.DeleteModel(435 name='WkTCourtannouncement',436 ),437 migrations.DeleteModel(438 name='WkTCustomCondition',439 ),440 migrations.DeleteModel(441 name='WkTCustomConditionField',442 ),443 migrations.DeleteModel(444 name='WkTCustomConditionSub',445 ),446 migrations.DeleteModel(447 name='WkTCustomConditionValue',448 ),449 migrations.DeleteModel(450 name='WkTDatasourcetype',451 ),452 migrations.DeleteModel(453 name='WkTDefinedhomeExtend',454 ),455 migrations.DeleteModel(456 name='WkTDelete',457 ),458 migrations.DeleteModel(459 name='WkTDeleteinfoLog',460 ),461 migrations.DeleteModel(462 name='WkTDeleteinfoLog1',463 ),464 migrations.DeleteModel(465 name='WkTDeleteinfoLog2',466 ),467 migrations.DeleteModel(468 name='WkTDeleteinfoSource',469 ),470 migrations.DeleteModel(471 name='WkTDeleterefReason',472 ),473 migrations.DeleteModel(474 name='WkTDept',475 ),476 migrations.DeleteModel(477 name='WkTDingdinggroup',478 ),479 migrations.DeleteModel(480 name='WkTDinguser',481 ),482 migrations.DeleteModel(483 name='WkTDinguserJob',484 ),485 migrations.DeleteModel(486 name='WkTDinguserNew',487 ),488 migrations.DeleteModel(489 name='WkTDishonest',490 ),491 migrations.DeleteModel(492 name='WkTEnforcement',493 ),494 migrations.DeleteModel(495 name='WkTEverydaydata',496 ),497 migrations.DeleteModel(498 name='WkTFullsearchCatalog',499 ),500 migrations.DeleteModel(501 name='WkTHelp',502 ),503 migrations.DeleteModel(504 name='WkTHelpClass',505 ),506 migrations.DeleteModel(507 name='WkTHljCourtUser',508 ),509 migrations.DeleteModel(510 name='WkTHomekeysset',511 ),512 migrations.DeleteModel(513 name='WkTHomepage',514 ),515 migrations.DeleteModel(516 name='WkTHomesite',517 ),518 migrations.DeleteModel(519 name='WkTHotinfo',520 ),521 migrations.DeleteModel(522 name='WkTHotinfo3',523 ),524 migrations.DeleteModel(525 name='WkTId',526 ),527 migrations.DeleteModel(528 name='WkTIdCopy',529 ),530 migrations.DeleteModel(531 name='WkTIndexModule',532 ),533 migrations.DeleteModel(534 name='WkTIndKeyws',535 ),536 migrations.DeleteModel(537 name='WkTIndustry',538 ),539 migrations.DeleteModel(540 name='WkTInfo',541 ),542 migrations.DeleteModel(543 name='WkTInfoSource',544 ),545 migrations.DeleteModel(546 name='WkTIpinfo',547 ),548 migrations.DeleteModel(549 name='WkTJobOffers',550 ),551 migrations.DeleteModel(552 name='WkTJudgment',553 ),554 migrations.DeleteModel(555 name='WkTJudicialsale',556 ),557 migrations.DeleteModel(558 name='WkTKefupowerNew',559 ),560 migrations.DeleteModel(561 name='WkTKeyws',562 ),563 migrations.DeleteModel(564 name='WkTKeyws1',565 ),566 migrations.DeleteModel(567 name='WkTKeyws2',568 ),569 migrations.DeleteModel(570 name='WkTKeywsBackend',571 ),572 migrations.DeleteModel(573 name='WkTKeywsCopy',574 ),575 migrations.DeleteModel(576 name='WkTKeywsCopy1',577 ),578 migrations.DeleteModel(579 name='WkTKeywsCopy2',580 ),581 migrations.DeleteModel(582 name='WkTKeywsLog',583 ),584 migrations.DeleteModel(585 name='WkTKeywsWarnset',586 ),587 migrations.DeleteModel(588 name='WkTLocationuserBasicnumber',589 ),590 migrations.DeleteModel(591 name='WkTLocationuserCoverage',592 ),593 migrations.DeleteModel(594 name='WkTManagerLog',595 ),596 migrations.DeleteModel(597 name='WkTMessage',598 ),599 migrations.DeleteModel(600 name='WkTModuleinfo',601 ),602 migrations.DeleteModel(603 name='WkTMuser',604 ),605 migrations.DeleteModel(606 name='WkTMuserCount',607 ),608 migrations.DeleteModel(609 name='WkTMycollection',610 ),611 migrations.DeleteModel(612 name='WkTNewbackendLog',613 ),614 migrations.DeleteModel(615 name='WkTNodeNew',616 ),617 migrations.DeleteModel(618 name='WkTPatent',619 ),620 migrations.DeleteModel(621 name='WkTPhoneInfo',622 ),623 migrations.DeleteModel(624 name='WkTPhonelist',625 ),626 migrations.DeleteModel(627 name='WkTPhonepush',628 ),629 migrations.DeleteModel(630 name='WkTProductLog',631 ),632 migrations.DeleteModel(633 name='WkTQqkeyws',634 ),635 migrations.DeleteModel(636 name='WkTRegisteruser',637 ),638 migrations.DeleteModel(639 name='WkTReport',640 ),641 migrations.DeleteModel(642 name='WkTReportPush',643 ),644 migrations.DeleteModel(645 name='WkTReporttemplate',646 ),647 migrations.DeleteModel(648 name='WkTRole2',649 ),650 migrations.DeleteModel(651 name='WkTRoleNew',652 ),653 migrations.DeleteModel(654 name='WkTRoletitle',655 ),656 migrations.DeleteModel(657 name='WkTRoleuserNew',658 ),659 migrations.DeleteModel(660 name='WkTSearchCondition',661 ),662 migrations.DeleteModel(663 name='WkTSearchConditionCopy',664 ),665 migrations.DeleteModel(666 name='WkTSearchword',667 ),668 migrations.DeleteModel(669 name='WkTShare',670 ),671 migrations.DeleteModel(672 name='WkTSoftwareCopyright',673 ),674 migrations.DeleteModel(675 name='WkTSubjectWordLength',676 ),677 migrations.DeleteModel(678 name='WkTTitle2',679 ),680 migrations.DeleteModel(681 name='WkTTopickeywordcheck',682 ),683 migrations.DeleteModel(684 name='WkTTrademark',685 ),686 migrations.DeleteModel(687 name='WkTUloguser',688 ),689 migrations.DeleteModel(690 name='WkTUpdatelog',691 ),692 migrations.DeleteModel(693 name='WkTUpdaterecord',694 ),695 migrations.DeleteModel(696 name='WkTUpdaterecordZj',697 ),698 migrations.DeleteModel(699 name='WkTUpdatetvrecord',700 ),701 migrations.DeleteModel(702 name='WkTUploadFile',703 ),704 migrations.DeleteModel(705 name='WkTUploadFolder',706 ),707 migrations.DeleteModel(708 name='WkTUsearchword',709 ),710 migrations.DeleteModel(711 name='WkTUserapi',712 ),713 migrations.DeleteModel(714 name='WkTUserApplicationLog',715 ),716 migrations.DeleteModel(717 name='WkTUserArea',718 ),719 migrations.DeleteModel(720 name='WkTUserAreaNew',721 ),722 migrations.DeleteModel(723 name='WkTUserAreaNew1',724 ),725 migrations.DeleteModel(726 name='WkTUserbaseinfo',727 ),728 migrations.DeleteModel(729 name='WkTUserbaseinfoCopy',730 ),731 migrations.DeleteModel(732 name='WkTUsercheck',733 ),734 migrations.DeleteModel(735 name='WkTUserclassify',736 ),737 migrations.DeleteModel(738 name='WkTUserclassifySystem',739 ),740 migrations.DeleteModel(741 name='WkTUsercustom',742 ),743 migrations.DeleteModel(744 name='WkTUserDailycount',745 ),746 migrations.DeleteModel(747 name='WkTUserDept',748 ),749 migrations.DeleteModel(750 name='WkTUserfeedback',751 ),752 migrations.DeleteModel(753 name='WkTUserfieldattribute',754 ),755 migrations.DeleteModel(756 name='WkTUserInd',757 ),758 migrations.DeleteModel(759 name='WkTUserindexModule',760 ),761 migrations.DeleteModel(762 name='WkTUserLocalyjkeyws',763 ),764 migrations.DeleteModel(765 name='WkTUserLoginLog',766 ),767 migrations.DeleteModel(768 name='WkTUsermail',769 ),770 migrations.DeleteModel(771 name='WkTUsermailExport',772 ),773 migrations.DeleteModel(774 name='WkTUsermodule',775 ),776 migrations.DeleteModel(777 name='WkTUsermoduledetails',778 ),779 migrations.DeleteModel(780 name='WkTUsermodulefieldtype',781 ),782 migrations.DeleteModel(783 name='WkTUsermodulerelation',784 ),785 migrations.DeleteModel(786 name='WkTUsernav',787 ),788 migrations.DeleteModel(789 name='WkTUserole2',790 ),791 migrations.DeleteModel(792 name='WkTUserpsw',793 ),794 migrations.DeleteModel(795 name='WkTUserRemarks',796 ),797 migrations.DeleteModel(798 name='WkTUserserviceBak',799 ),800 migrations.DeleteModel(801 name='WkTUsersource',802 ),803 migrations.DeleteModel(804 name='WkTUserStatusLog',805 ),806 migrations.DeleteModel(807 name='WkTUsertemplate',808 ),809 migrations.DeleteModel(810 name='WkTUserweb',811 ),812 migrations.DeleteModel(813 name='WkTUserYjkeyws',814 ),815 migrations.DeleteModel(816 name='WkTValidationInfo',817 ),818 migrations.DeleteModel(819 name='WkTValidationInfocnt',820 ),821 migrations.DeleteModel(822 name='WkTValidationYjinfo',823 ),824 migrations.DeleteModel(825 name='WkTValidationYjinfocnt',826 ),827 migrations.DeleteModel(828 name='WkTVersionupgradeLog',829 ),830 migrations.DeleteModel(831 name='WkTVideo',832 ),833 migrations.DeleteModel(834 name='WkTVideorecord',835 ),836 migrations.DeleteModel(837 name='WkTWarnaccDinguser',838 ),839 migrations.DeleteModel(840 name='WkTWarnaccUser',841 ),842 migrations.DeleteModel(843 name='WkTWarnspecialAlldinguser',844 ),845 migrations.DeleteModel(846 name='WkTWarnspecialDinguser',847 ),848 migrations.DeleteModel(849 name='WkTWarnspecialUser',850 ),851 migrations.DeleteModel(852 name='WkTWebsite',853 ),854 migrations.DeleteModel(855 name='WkTWebuserbacklog',856 ),857 migrations.DeleteModel(858 name='WkTWebuserlog',859 ),860 migrations.DeleteModel(861 name='WkTWorkcopyright',862 ),863 migrations.DeleteModel(864 name='WkTWtfk',865 ),866 migrations.DeleteModel(867 name='WkTWtfkCnt',868 ),869 migrations.DeleteModel(870 name='WkTWxkeyws',871 ),872 migrations.DeleteModel(873 name='WkTYqjb1',874 ),875 migrations.DeleteModel(876 name='WkTYqmsonlyuser',877 ),878 migrations.DeleteModel(879 name='WkTYqmsywpushnews',880 ),881 migrations.DeleteModel(882 name='WkTYqmsywuser',883 ),884 migrations.DeleteModel(885 name='WkTYsDomain',886 ),887 migrations.DeleteModel(888 name='WkTYtjUser',889 ),890 migrations.DeleteModel(891 name='WkTYtjUserAreaNew',892 ),893 migrations.DeleteModel(894 name='WkTYtjUserbaseinfo',895 ),896 migrations.DeleteModel(897 name='WkTYtjUserservice',898 ),899 migrations.DeleteModel(900 name='WtKSubrelation',901 ),902 migrations.DeleteModel(903 name='WtKSubrelation2',904 ),905 migrations.DeleteModel(906 name='WtKSubrelationBackend',907 ),908 migrations.DeleteModel(909 name='WtKSubrelationBak20191016',910 ),911 migrations.DeleteModel(912 name='Yjclusteruser',913 ),914 migrations.DeleteModel(915 name='YqzbTCkey',916 ),917 migrations.DeleteModel(918 name='YqzbTEngineInfo',919 ),920 migrations.DeleteModel(921 name='YqzbTQq',922 ),923 migrations.DeleteModel(924 name='YqzbTQqmes',925 ),926 migrations.DeleteModel(927 name='YqzbTSyncLog',928 ),929 migrations.DeleteModel(930 name='YqzbTTopic',931 ),932 migrations.DeleteModel(933 name='YqzbTTopicModuleSummary',934 ),935 migrations.DeleteModel(936 name='YqzbTWeixin',937 ),938 migrations.DeleteModel(939 name='YqzbTWxmsg',940 ),941 migrations.DeleteModel(942 name='YqzbTYjxx',943 ),944 migrations.DeleteModel(945 name='ZhsqCompany',946 ),947 migrations.DeleteModel(948 name='ZhsqCompanyBaseinfo',949 ),950 migrations.DeleteModel(951 name='Zycluster',952 ),953 migrations.DeleteModel(954 name='Zyclusteruser',955 ),956 migrations.DeleteModel(957 name='Zywhiteuser',958 ),959 migrations.DeleteModel(960 name='Zywords',961 ),...
test_DeleteChildDomain.py
Source:test_DeleteChildDomain.py
...49 yield policyid, relation_id1, relation_id2, relation_id350 # å
³ç³»åå é¤51 deletedomain_url1 = "/api/document-domain-management/v1/domain/%s" % relation_id152 delete_child1 = Http_client()53 delete_child1.delete(url=deletedomain_url1, header='{"Content-Type":"application/json"}')54 deletedomain_url2 = "/api/document-domain-management/v1/domain/%s" % relation_id255 delete_child2 = Http_client()56 delete_child2.delete(url=deletedomain_url2, header='{"Content-Type":"application/json"}')57 deletedomain_url3 = "/api/document-domain-management/v1/domain/%s" % relation_id358 delete_child3 = Http_client()59 delete_child3.delete(url=deletedomain_url3, header='{"Content-Type":"application/json"}')60 # å é¤åååæ®61 CommonAuthCredentialMgnt().del_credential(host=child_host1, credential_id=credential_id1)62 CommonAuthCredentialMgnt().del_credential(host=child_host2, credential_id=credential_id2)63 CommonAuthCredentialMgnt().del_credential(host=child_host3, credential_id=credential_id3)64 # å é¤çç¥é
ç½®65 CommonDocPolicyMgnt().DeletePolicy(policyid)66 def test_DeleteChildDomain200(self, create_childdomain):67 policyid = create_childdomain[0]68 relation_id1 = create_childdomain[1]69 relation_id2 = create_childdomain[2]70 relation_id3 = create_childdomain[3]71 # 解ç»å个åå72 delete_url = "/api/document-domain-management" \73 "/v1/policy-tpl/{id}/bound-domain/{domain}".format(id=policyid, domain=relation_id1)74 delete_client = Http_client()75 delete_client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")76 assert delete_client.status_code == 20077 assert delete_client.elapsed <= 20.078 # 解ç»å¤ä¸ªåå79 delete_url = "/api/document-domain-management/v1/policy-tpl/{id}/" \80 "bound-domain/{domain1},{domain2}".format(id=policyid, domain1=relation_id2, domain2=relation_id3)81 delete_client = Http_client()82 delete_client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")83 assert delete_client.status_code == 20084 assert delete_client.elapsed <= 20.085 @allure.testcase("ID5399,ç¨ä¾åï¼è§£ç»åå--éååç¯å¢è§£ç»åæ°é误ï¼è§£ç»å¤±è´¥--è¿å404")86 @allure.testcase("ID5795,ç¨ä¾åï¼è§£ç»åå--ååç¯å¢è°ç¨è§£ç»æ¥å£ï¼è§£ç»å¤±è´¥--è¿å404")87 @pytest.fixture(scope="function")88 def create_onechilddomain(self, metadata_host):89 father_host = metadata_host["replace.eisoo.com"]90 child_host1 = metadata_host["child.eisoo.com"]91 child_host2 = metadata_host["self.eisoo.com"]92 father_host = (father_host.split(":")[1]).strip("/")93 child_host1 = (child_host1.split(":")[1]).strip("/")94 child_host2 = (child_host2.split(":")[1]).strip("/")95 # æ°å¢çç¥96 policyid1 = CommonDocPolicyMgnt().AddPolicy('{"content":[{"name":"password_strength_meter",'97 '"value":{"enable":True,"length":22}}],"name":"policy1"}')98 policyid2 = CommonDocPolicyMgnt().AddPolicy('{"content":[{"name":"password_strength_meter",'99 '"value":{"enable":True,"length":22}}],"name":"policy2"}')100 # è·ååååæ®101 result1 = CommonAuthCredentialMgnt().get_credential(host=child_host1, credential_type="child", note="string")102 credential_id1 = result1[0]103 credential_key1 = result1[1]104 result2 = CommonAuthCredentialMgnt().get_credential(host=child_host2, credential_type="child", note="string")105 credential_id2 = result2[0]106 credential_key2 = result2[1]107 # æ·»å åå108 relation_id1 = CommonDocPolicyMgnt().AddChildDomain1(father_host=father_host, child_host=child_host1,109 credential_id=credential_id1,110 credential_key=credential_key1)111 relation_id2 = CommonDocPolicyMgnt().AddChildDomain2(father_host=father_host, child_host=child_host2,112 credential_id=credential_id2,113 credential_key=credential_key2)114 # ç»å®çç¥ååå115 CommonDocPolicyMgnt().BindChildDomain(policyid1, domain1=relation_id1)116 yield policyid1, policyid2, relation_id1, relation_id2, child_host1117 # 解ç»åå118 CommonDocPolicyMgnt().DeleteChildDomain(host=father_host, id=policyid1, domain1=relation_id1)119 # å
³ç³»åå é¤120 deletedomain_url1 = "/api/document-domain-management/v1/domain/%s" % relation_id1121 delete_child1 = Http_client()122 delete_child1.delete(url=deletedomain_url1, header='{"Content-Type":"application/json"}')123 deletedomain_url2 = "/api/document-domain-management/v1/domain/%s" % relation_id2124 delete_child2 = Http_client()125 delete_child2.delete(url=deletedomain_url2, header='{"Content-Type":"application/json"}')126 # å é¤åååæ®127 CommonAuthCredentialMgnt().del_credential(host=child_host1, credential_id=credential_id1)128 CommonAuthCredentialMgnt().del_credential(host=child_host2, credential_id=credential_id2)129 # å é¤çç¥é
ç½®130 CommonDocPolicyMgnt().DeletePolicy(policyid1)131 CommonDocPolicyMgnt().DeletePolicy(policyid2)132 def test_DeleteChildDomains404(self, create_onechilddomain):133 policyid1 = create_onechilddomain[0]134 policyid2 = create_onechilddomain[1]135 relation_id1 = create_onechilddomain[2]136 relation_id2 = create_onechilddomain[3]137 # 缺å°çç¥IDåæ°404ä¸å é¤/符å·138 client = Http_client()139 delete_url = "/api/document-domain-management/v1/policy-tpl/bound-domain/11".format(domain=relation_id1)140 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")141 assert client.status_code == 404142 assert client.text == '<html><title>404: Not Found</title><body>404: Not Found</body></html>'143 assert client.elapsed <= 20.0144 # 缺å°çç¥IDåæ°404ä¸ä¿ç/符å·145 delete_url = "/api/document-domain-management/v1/policy-tpl//bound-domain/{domain}".format(domain=relation_id1)146 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")147 assert client.status_code == 404148 assert client.text == '<html><title>404: Not Found</title><body>404: Not Found</body></html>'149 assert client.elapsed <= 20.0150 # çç¥IDä¸åå¨151 delete_url = "/api/document-domain-management/v1/policy-tpl/11/bound-domain/{domain}".format(152 domain=relation_id1)153 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")154 assert client.status_code == 404155 assert client.jsonResponse['message'] == 'Resource not found.'156 assert client.elapsed <= 20.0157 # ä¼ å
¥å¤ä¸ªææçç¥ID158 delete_url = "/api/document-domain-management/v1/policy-tpl" \159 "/{id1},{id2}/bound-domain/{domain}".format(id1=policyid1, id2=policyid2, domain=relation_id1)160 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")161 assert client.status_code == 404162 assert client.jsonResponse['message'] == 'Resource not found.'163 assert client.elapsed <= 20.0164 # 缺å°ååID165 delete_url = "/api/document-domain-management/v1/policy-tpl/{id}/bound-domain/".format(id=policyid1)166 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")167 assert client.status_code == 405168 assert client.elapsed <= 20.0169 # ååIDä¸åå¨170 delete_url = "/api/document-domain-management/v1/policy-tpl/{id}/bound-domain/111".format(id=policyid1)171 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")172 assert client.status_code == 404173 assert client.jsonResponse['message'] == 'Resource not found.'174 assert client.elapsed <= 20.0175 # ååIDåå¨ï¼ä½ä¸ºå
¶ä»ç¶åçå
³èåå176 delete_url = "/api/document-domain-management/v1/policy-tpl/{id}/" \177 "bound-domain/9b04d18d-6c15-45a6-8c8c-6b8dc67a8689".format(id=policyid1)178 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")179 assert client.status_code == 404180 assert client.jsonResponse['message'] == 'Resource not found.'181 assert client.elapsed <= 20.0182 # IDåå¨ï¼ä½åID为平级å183 delete_url = "/api/document-domain-management/v1/policy-tpl/{id}/" \184 "bound-domain/9b04d18d-6c15-45a6-8c8c-6b8dc67a8689".format(id=policyid1)185 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")186 assert client.status_code == 404187 assert client.jsonResponse['message'] == 'Resource not found.'188 assert client.elapsed <= 20.0189 # ååIDæ£ç¡®ï¼ä½è¯¥ååIDæªç»å®çç¥190 delete_url = "/api/document-domain-management/v1/policy-tpl/{id}/" \191 "bound-domain/{domain}".format(id=policyid1, domain=relation_id2)192 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")193 assert client.status_code == 404194 assert client.jsonResponse['message'] == 'Resource not found.'195 assert client.elapsed <= 20.0196 # IDåå¨ï¼ä½è¯¥ID为èªèº«åID197 delete_url = "/api/document-domain-management/v1/policy-tpl/{id}/" \198 "bound-domain/4aaf1948-e0b6-4685-b293-561f012cf284".format(id=policyid1)199 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")200 assert client.status_code == 404201 assert client.jsonResponse['message'] == 'Resource not found.'202 assert client.elapsed <= 20.0203 # IDåå¨ï¼ä½è¯¥ID为ç¶åID204 delete_url = "/api/document-domain-management/v1/policy-tpl/{id}/" \205 "bound-domain/4aaf1948-e0b6-4685-b293-561f012cf284".format(id=policyid1)206 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")207 assert client.status_code == 404208 assert client.jsonResponse['message'] == 'Resource not found.'209 assert client.elapsed <= 20.0210 @allure.testcase("ID6585,ç¨ä¾åï¼è§£ç»åææ¡£ååä¿®æ¹åå端å£ï¼è§£ç»å¤±è´¥")211 def test_DeleteChildDomain400(self, create_onechilddomain):212 policyid1 = create_onechilddomain[0]213 relation_id1 = create_onechilddomain[2]214 child_host1 = create_onechilddomain[4]215 delete_url = "/api/document-domain-management/v1/policy-tpl/{id}/" \216 "bound-domain/{domain}".format(id=policyid1, domain=relation_id1)217 # ä¿®æ¹åå端å£218 conn = DB_connect()219 update_sql = "update t_relationship_domain set f_port=8001 where f_host='{host}'".format(host=child_host1)220 conn.update(update_sql)221 conn.close()222 # 解ç»åææ¡£åurl223 client = Http_client()224 client.delete(url=delete_url, header="{\"Content-Type\":\"application/json\"}")225 assert client.status_code == 400226 assert client.jsonResponse['code'] == 400014205227 assert client.elapsed <= 20.0228 # æ¢å¤åå端å£229 conn = DB_connect()230 update_sql = "update t_relationship_domain set f_port=443 where f_host='{host}'".format(host=child_host1)231 conn.update(update_sql)232 conn.close()233if __name__ == '__main__':...
delete.py
Source:delete.py
1DELETE_TESTS = {2 'id': 'D',3 'caption': 'Delete Tests',4 'command': 'delete',5 'checkAttrs': True,6 'checkStyle': False,7 'Proposed': [8 { 'desc': '',9 'tests': [10 ]11 },12 { 'desc': 'delete single characters',13 'tests': [14 { 'id': 'CHAR-1_SC',15 'desc': 'Delete 1 character',16 'pad': 'foo^barbaz',17 'expected': 'fo^barbaz' },18 { 'id': 'CHAR-2_SC',19 'desc': 'Delete 1 pre-composed character o with diaeresis',20 'pad': 'foö^barbaz',21 'expected': 'fo^barbaz' },22 { 'id': 'CHAR-3_SC',23 'desc': 'Delete 1 character with combining diaeresis above',24 'pad': 'foö^barbaz',25 'expected': 'fo^barbaz' },26 { 'id': 'CHAR-4_SC',27 'desc': 'Delete 1 character with combining diaeresis below',28 'pad': 'foo̤^barbaz',29 'expected': 'fo^barbaz' },30 { 'id': 'CHAR-5_SC',31 'desc': 'Delete 1 character with combining diaeresis above and below',32 'pad': 'foö̤^barbaz',33 'expected': 'fo^barbaz' },34 { 'id': 'CHAR-5_SI-1',35 'desc': 'Delete 1 character with combining diaeresis above and below, selection on diaeresis above',36 'pad': 'foo[̈]̤barbaz',37 'expected': 'fo^barbaz' },38 { 'id': 'CHAR-5_SI-2',39 'desc': 'Delete 1 character with combining diaeresis above and below, selection on diaeresis below',40 'pad': 'foö[̤]barbaz',41 'expected': 'fo^barbaz' },42 { 'id': 'CHAR-5_SR',43 'desc': 'Delete 1 character with combining diaeresis above and below, selection oblique on diaeresis and following text',44 'pad': 'foö[̤bar]baz',45 'expected': 'fo^baz' },46 { 'id': 'CHAR-6_SC',47 'desc': 'Delete 1 character with enclosing square',48 'pad': 'foo⃞^barbaz',49 'expected': 'fo^barbaz' },50 { 'id': 'CHAR-7_SC',51 'desc': 'Delete 1 character with combining long solidus overlay',52 'pad': 'foo̸^barbaz',53 'expected': 'fo^barbaz' }54 ]55 },56 { 'desc': 'delete text selection',57 'tests': [58 { 'id': 'TEXT-1_SI',59 'desc': 'Delete text selection',60 'pad': 'foo[bar]baz',61 'expected': 'foo^baz' },62 { 'id': 'B-1_SS',63 'desc': 'Delete at start of span',64 'pad': 'foo<b>^bar</b>baz',65 'expected': 'fo^<b>bar</b>baz' },66 { 'id': 'B-1_SA',67 'desc': 'Delete from position after span',68 'pad': 'foo<b>bar</b>^baz',69 'expected': 'foo<b>ba^</b>baz' },70 { 'id': 'B-1_SW',71 'desc': 'Delete selection that wraps the whole span content',72 'pad': 'foo<b>[bar]</b>baz',73 'expected': 'foo^baz' },74 { 'id': 'B-1_SO',75 'desc': 'Delete selection that wraps the whole span',76 'pad': 'foo[<b>bar</b>]baz',77 'expected': 'foo^baz' },78 { 'id': 'B-1_SL',79 'desc': 'Delete oblique selection that starts before span',80 'pad': 'foo[bar<b>baz]quoz</b>quuz',81 'expected': 'foo^<b>quoz</b>quuz' },82 { 'id': 'B-1_SR',83 'desc': 'Delete oblique selection that ends after span',84 'pad': 'foo<b>bar[baz</b>quoz]quuz',85 'expected': 'foo<b>bar^</b>quuz' },86 { 'id': 'B.I-1_SM',87 'desc': 'Delete oblique selection that starts and ends in different spans',88 'pad': 'foo<b>bar[baz</b><i>qoz]quuz</i>quuuz',89 'expected': 'foo<b>bar^</b><i>quuz</i>quuuz' },90 { 'id': 'GEN-1_SS',91 'desc': 'Delete at start of span with generated content',92 'pad': 'foo<gen>^bar</gen>baz',93 'expected': 'fo^<gen>bar</gen>baz' },94 { 'id': 'GEN-1_SA',95 'desc': 'Delete from position after span with generated content',96 'pad': 'foo<gen>bar</gen>^baz',97 'expected': 'foo<gen>ba^</gen>baz' }98 ]99 },100 { 'desc': 'delete paragraphs',101 'tests': [102 { 'id': 'P2-1_SS2',103 'desc': 'Delete from collapsed selection at start of paragraph - should merge with previous',104 'pad': '<p>foobar</p><p>^bazqoz</p>',105 'expected': '<p>foobar^bazqoz</p>' },106 { 'id': 'P2-1_SI2',107 'desc': 'Delete non-collapsed selection at start of paragraph - should not merge with previous',108 'pad': '<p>foobar</p><p>[baz]qoz</p>',109 'expected': '<p>foobar</p><p>^qoz</p>' },110 { 'id': 'P2-1_SM',111 'desc': 'Delete non-collapsed selection spanning 2 paragraphs - should merge them',112 'pad': '<p>foo[bar</p><p>baz]qoz</p>',113 'expected': '<p>foo^qoz</p>' }114 ]115 },116 { 'desc': 'delete lists and list items',117 'tests': [118 { 'id': 'OL-LI2-1_SO1',119 'desc': 'Delete fully wrapped list item',120 'pad': 'foo<ol>{<li>bar</li>}<li>baz</li></ol>qoz', 121 'expected': ['foo<ol>|<li>baz</li></ol>qoz',122 'foo<ol><li>^baz</li></ol>qoz'] },123 { 'id': 'OL-LI2-1_SM',124 'desc': 'Delete oblique range between list items within same list',125 'pad': 'foo<ol><li>ba[r</li><li>b]az</li></ol>qoz',126 'expected': 'foo<ol><li>ba^az</li></ol>qoz' },127 { 'id': 'OL-LI-1_SW',128 'desc': 'Delete contents of last list item (list should remain)',129 'pad': 'foo<ol><li>[foo]</li></ol>qoz',130 'expected': ['foo<ol><li>|</li></ol>qoz',131 'foo<ol><li>^</li></ol>qoz'] },132 { 'id': 'OL-LI-1_SO',133 'desc': 'Delete last list item of list (should remove entire list)',134 'pad': 'foo<ol>{<li>foo</li>}</ol>qoz',135 'expected': 'foo^qoz' }136 ]137 },138 { 'desc': 'delete with strange selections',139 'tests': [140 { 'id': 'HR.BR-1_SM',141 'desc': 'Delete selection that starts and ends within nodes that don\'t have children',142 'pad': 'foo<hr {>bar<br }>baz',143 'expected': 'foo<hr>|<br>baz' }144 ]145 },146 { 'desc': 'delete after table',147 'tests': [148 { 'id': 'TABLE-1_SA',149 'desc': 'Delete from position immediately after table (should have no effect)',150 'pad': 'foo<table><tbody><tr><td>bar</td></tr></tbody></table>^baz',151 'expected': 'foo<table><tbody><tr><td>bar</td></tr></tbody></table>^baz' }152 ]153 },154 { 'desc': 'delete within table cells',155 'tests': [156 { 'id': 'TD-1_SS',157 'desc': 'Delete from start of first cell (should have no effect)',158 'pad': 'foo<table><tbody><tr><td>^bar</td></tr></tbody></table>baz',159 'expected': 'foo<table><tbody><tr><td>^bar</td></tr></tbody></table>baz' },160 { 'id': 'TD2-1_SS2',161 'desc': 'Delete from start of inner cell (should have no effect)',162 'pad': 'foo<table><tbody><tr><td>bar</td><td>^baz</td></tr></tbody></table>quoz',163 'expected': 'foo<table><tbody><tr><td>bar</td><td>^baz</td></tr></tbody></table>quoz' },164 { 'id': 'TD2-1_SM',165 'desc': 'Delete with selection spanning 2 cells',166 'pad': 'foo<table><tbody><tr><td>ba[r</td><td>b]az</td></tr></tbody></table>quoz',167 'expected': 'foo<table><tbody><tr><td>ba^</td><td>az</td></tr></tbody></table>quoz' }168 ]169 },170 { 'desc': 'delete table rows',171 'tests': [172 { 'id': 'TR3-1_SO1',173 'desc': 'Delete first table row',174 'pad': '<table><tbody>{<tr><td>A</td></tr>}<tr><td>B</td></tr><tr><td>C</td></tr></tbody></table>',175 'expected': ['<table><tbody>|<tr><td>B</td></tr><tr><td>C</td></tr></tbody></table>',176 '<table><tbody><tr><td>^B</td></tr><tr><td>C</td></tr></tbody></table>'] },177 { 'id': 'TR3-1_SO2',178 'desc': 'Delete middle table row',179 'pad': '<table><tbody><tr><td>A</td></tr>{<tr><td>B</td></tr>}<tr><td>C</td></tr></tbody></table>',180 'expected': ['<table><tbody><tr><td>A</td></tr>|<tr><td>C</td></tr></tbody></table>',181 '<table><tbody><tr><td>A</td></tr><tr><td>^C</td></tr></tbody></table>'] },182 { 'id': 'TR3-1_SO3',183 'desc': 'Delete last table row',184 'pad': '<table><tbody><tr><td>A</td></tr><tr><td>B</td></tr>{<tr><td>C</td></tr>}</tbody></table>',185 'expected': ['<table><tbody><tr><td>A</td></tr><tr><td>B</td></tr>|</tbody></table>',186 '<table><tbody><tr><td>A</td></tr><tr><td>B^</td></tr></tbody></table>'] },187 { 'id': 'TR2rs:2-1_SO1',188 'desc': 'Delete first table row where a cell has rowspan 2',189 'pad': '<table><tbody>{<tr><td>A</td><td rowspan=2>R</td></tr>}<tr><td>B</td></tr></tbody></table>',190 'expected': ['<table><tbody>|<tr><td>B</td><td>R</td></tr></tbody></table>',191 '<table><tbody><tr><td>^B</td><td>R</td></tr></tbody></table>'] },192 { 'id': 'TR2rs:2-1_SO2',193 'desc': 'Delete second table row where a cell has rowspan 2',194 'pad': '<table><tbody><tr><td>A</td><td rowspan=2>R</td></tr>{<tr><td>B</td></tr>}</tbody></table>',195 'expected': ['<table><tbody><tr><td>A</td><td>R</td></tr>|</tbody></table>',196 '<table><tbody><tr><td>A</td><td>R^</td></tr></tbody></table>'] },197 { 'id': 'TR3rs:3-1_SO1',198 'desc': 'Delete first table row where a cell has rowspan 3',199 'pad': '<table><tbody>{<tr><td>A</td><td rowspan=3>R</td></tr>}<tr><td>B</td></tr><tr><td>C</td></tr></tbody></table>',200 'expected': ['<table><tbody>|<tr><td>A</td><td rowspan="2">R</td></tr><tr><td>C</td></tr></tbody></table>',201 '<table><tbody><tr><td>^A</td><td rowspan="2">R</td></tr><tr><td>C</td></tr></tbody></table>'] },202 { 'id': 'TR3rs:3-1_SO2',203 'desc': 'Delete middle table row where a cell has rowspan 3',204 'pad': '<table><tbody><tr><td>A</td><td rowspan=3>R</td></tr>{<tr><td>B</td></tr>}<tr><td>C</td></tr></tbody></table>',205 'expected': ['<table><tbody><tr><td>B</td><td rowspan="2">R</td></tr>|<tr><td>C</td></tr></tbody></table>',206 '<table><tbody><tr><td>B</td><td rowspan="2">R</td></tr><tr><td>^C</td></tr></tbody></table>'] },207 { 'id': 'TR3rs:3-1_SO3',208 'desc': 'Delete last table row where a cell has rowspan 3',209 'pad': '<table><tbody><tr><td>A</td><td rowspan=3>R</td></tr><tr><td>B</td></tr>{<tr><td>C</td></tr>}</tbody></table>',210 'expected': ['<table><tbody><tr><td>A</td><td rowspan="2">R</td></tr><tr><td>B</td></tr>|</tbody></table>',211 '<table><tbody><tr><td>A</td><td rowspan="2">R</td></tr><tr><td>B^</td></tr></tbody></table>'] }212 ]213 },214 { 'desc': 'delete with non-editable nested content',215 'tests': [216 { 'id': 'DIV:ce:false-1_SO',217 'desc': 'Delete nested non-editable <div>',218 'pad': 'foo[bar<div contenteditable="false">NESTED</div>baz]qoz',219 'expected': 'foo^qoz' },220 { 'id': 'DIV:ce:false-1_SB',221 'desc': 'Delete from immediately after a nested non-editable <div> (should be no-op)',222 'pad': 'foobar<div contenteditable="false">NESTED</div>^bazqoz',223 'expected': 'foobar<div contenteditable="false">NESTED</div>^bazqoz' },224 { 'id': 'DIV:ce:false-1_SL',225 'desc': 'Delete nested non-editable <div> with oblique selection',226 'pad': 'foo[bar<div contenteditable="false">NES]TED</div>bazqoz',227 'expected': [ 'foo^<div contenteditable="false">NESTED</div>bazqoz',228 'foo<div contenteditable="false">[NES]TED</div>bazqoz' ] },229 { 'id': 'DIV:ce:false-1_SR',230 'desc': 'Delete nested non-editable <div> with oblique selection',231 'pad': 'foobar<div contenteditable="false">NES[TED</div>baz]qoz',232 'expected': [ 'foobar<div contenteditable="false">NESTED</div>^qoz',233 'foobar<div contenteditable="false">NES[TED]</div>qoz' ] },234 { 'id': 'DIV:ce:false-1_SI',235 'desc': 'Delete inside nested non-editable <div> (should be no-op)',236 'pad': 'foobar<div contenteditable="false">NE[ST]ED</div>bazqoz',237 'expected': 'foobar<div contenteditable="false">NE[ST]ED</div>bazqoz' }238 ]239 },240 { 'desc': 'Delete with display:inline-block',241 'checkStyle': True,242 'tests': [243 { 'id': 'SPAN:d:ib-1_SC',244 'desc': 'Delete inside an inline-block <span>',245 'pad': 'foo<span style="display: inline-block">bar^baz</span>qoz',246 'expected': 'foo<span style="display: inline-block">ba^baz</span>qoz' },247 { 'id': 'SPAN:d:ib-1_SA',248 'desc': 'Delete from immediately after an inline-block <span>',249 'pad': 'foo<span style="display: inline-block">barbaz</span>^qoz',250 'expected': 'foo<span style="display: inline-block">barba^</span>qoz' },251 { 'id': 'SPAN:d:ib-2_SL',252 'desc': 'Delete with nested inline-block <span>, oblique selection',253 'pad': 'foo[DEL<span style="display: inline-block">ETE]bar</span>baz',254 'expected': 'foo^<span style="display: inline-block">bar</span>baz' },255 { 'id': 'SPAN:d:ib-3_SR',256 'desc': 'Delete with nested inline-block <span>, oblique selection',257 'pad': 'foo<span style="display: inline-block">bar[DEL</span>ETE]baz',258 'expected': 'foo<span style="display: inline-block">bar^</span>baz' },259 { 'id': 'SPAN:d:ib-4i_SI',260 'desc': 'Delete with nested inline-block <span>, oblique selection',261 'pad': 'foo<span style="display: inline-block">bar[DELETE]baz</span>qoz',262 'expected': 'foo<span style="display: inline-block">bar^baz</span>qoz' },263 { 'id': 'SPAN:d:ib-4l_SI',264 'desc': 'Delete with nested inline-block <span>, oblique selection',265 'pad': 'foo<span style="display: inline-block">[DELETE]barbaz</span>qoz',266 'expected': 'foo<span style="display: inline-block">^barbaz</span>qoz' },267 { 'id': 'SPAN:d:ib-4r_SI',268 'desc': 'Delete with nested inline-block <span>, oblique selection',269 'pad': 'foo<span style="display: inline-block">barbaz[DELETE]</span>qoz',270 'expected': 'foo<span style="display: inline-block">barbaz^</span>qoz' }271 ]272 }273 ]...
forwarddelete.py
Source:forwarddelete.py
1FORWARDDELETE_TESTS = {2 'id': 'FD',3 'caption': 'Forward-Delete Tests',4 'command': 'forwardDelete',5 'checkAttrs': True,6 'checkStyle': False,7 'Proposed': [8 { 'desc': '',9 'tests': [10 ]11 },12 { 'desc': 'forward-delete single characters',13 'tests': [14 { 'id': 'CHAR-1_SC',15 'desc': 'Delete 1 character',16 'pad': 'foo^barbaz',17 'expected': 'foo^arbaz' },18 { 'id': 'CHAR-2_SC',19 'desc': 'Delete 1 pre-composed character o with diaeresis',20 'pad': 'fo^öbarbaz',21 'expected': 'fo^barbaz' },22 { 'id': 'CHAR-3_SC',23 'desc': 'Delete 1 character with combining diaeresis above',24 'pad': 'fo^öbarbaz',25 'expected': 'fo^barbaz' },26 { 'id': 'CHAR-4_SC',27 'desc': 'Delete 1 character with combining diaeresis below',28 'pad': 'fo^o̤barbaz',29 'expected': 'fo^barbaz' },30 { 'id': 'CHAR-5_SC',31 'desc': 'Delete 1 character with combining diaeresis above and below',32 'pad': 'fo^ö̤barbaz',33 'expected': 'fo^barbaz' },34 { 'id': 'CHAR-6_SC',35 'desc': 'Delete 1 character with enclosing square',36 'pad': 'fo^o⃞barbaz',37 'expected': 'fo^barbaz' },38 { 'id': 'CHAR-7_SC',39 'desc': 'Delete 1 character with combining long solidus overlay',40 'pad': 'fo^o̸barbaz',41 'expected': 'fo^barbaz' }42 ]43 },44 { 'desc': 'forward-delete text selections',45 'tests': [46 { 'id': 'TEXT-1_SI',47 'desc': 'Delete text selection',48 'pad': 'foo[bar]baz',49 'expected': 'foo^baz' },50 51 { 'id': 'B-1_SE',52 'desc': 'Forward-delete at end of span',53 'pad': 'foo<b>bar^</b>baz',54 'expected': 'foo<b>bar^</b>az' },55 { 'id': 'B-1_SB',56 'desc': 'Forward-delete from position before span',57 'pad': 'foo^<b>bar</b>baz',58 'expected': 'foo^<b>ar</b>baz' },59 { 'id': 'B-1_SW',60 'desc': 'Delete selection that wraps the whole span content',61 'pad': 'foo<b>[bar]</b>baz',62 'expected': 'foo^baz' },63 { 'id': 'B-1_SO',64 'desc': 'Delete selection that wraps the whole span',65 'pad': 'foo[<b>bar</b>]baz',66 'expected': 'foo^baz' },67 { 'id': 'B-1_SL',68 'desc': 'Delete oblique selection that starts before span',69 'pad': 'foo[bar<b>baz]quoz</b>quuz',70 'expected': 'foo^<b>quoz</b>quuz' },71 { 'id': 'B-1_SR',72 'desc': 'Delete oblique selection that ends after span',73 'pad': 'foo<b>bar[baz</b>quoz]quuz',74 'expected': 'foo<b>bar^</b>quuz' },75 { 'id': 'B.I-1_SM',76 'desc': 'Delete oblique selection that starts and ends in different spans',77 'pad': 'foo<b>bar[baz</b><i>qoz]quuz</i>quuuz',78 'expected': 'foo<b>bar^</b><i>quuz</i>quuuz' },79 { 'id': 'GEN-1_SE',80 'desc': 'Delete at end of span with generated content',81 'pad': 'foo<gen>bar^</gen>baz',82 'expected': 'foo<gen>bar^</gen>az' },83 { 'id': 'GEN-1_SB',84 'desc': 'Delete from position before span with generated content',85 'pad': 'foo^<gen>bar</gen>baz',86 'expected': 'foo^<gen>ar</gen>baz' }87 ]88 },89 { 'desc': 'forward-delete paragraphs',90 'tests': [91 { 'id': 'P2-1_SE1',92 'desc': 'Delete from collapsed selection at end of paragraph - should merge with next',93 'pad': '<p>foobar^</p><p>bazqoz</p>',94 'expected': '<p>foobar^bazqoz</p>' },95 { 'id': 'P2-1_SI1',96 'desc': 'Delete non-collapsed selection at end of paragraph - should not merge with next',97 'pad': '<p>foo[bar]</p><p>bazqoz</p>',98 'expected': '<p>foo^</p><p>bazqoz</p>' },99 { 'id': 'P2-1_SM',100 'desc': 'Delete non-collapsed selection spanning 2 paragraphs - should merge them',101 'pad': '<p>foo[bar</p><p>baz]qoz</p>',102 'expected': '<p>foo^qoz</p>' }103 ]104 },105 { 'desc': 'forward-delete lists and list items',106 'tests': [107 { 'id': 'OL-LI2-1_SO1',108 'desc': 'Delete fully wrapped list item',109 'pad': 'foo<ol>{<li>bar</li>}<li>baz</li></ol>qoz', 110 'expected': ['foo<ol>|<li>baz</li></ol>qoz',111 'foo<ol><li>^baz</li></ol>qoz'] },112 { 'id': 'OL-LI2-1_SM',113 'desc': 'Delete oblique range between list items within same list',114 'pad': 'foo<ol><li>ba[r</li><li>b]az</li></ol>qoz',115 'expected': 'foo<ol><li>ba^az</li></ol>qoz' },116 { 'id': 'OL-LI-1_SW',117 'desc': 'Delete contents of last list item (list should remain)',118 'pad': 'foo<ol><li>[foo]</li></ol>qoz',119 'expected': ['foo<ol><li>|</li></ol>qoz',120 'foo<ol><li>^</li></ol>qoz'] },121 { 'id': 'OL-LI-1_SO',122 'desc': 'Delete last list item of list (should remove entire list)',123 'pad': 'foo<ol>{<li>foo</li>}</ol>qoz',124 'expected': 'foo^qoz' }125 ]126 },127 { 'desc': 'forward-delete with strange selections',128 'tests': [129 { 'id': 'HR.BR-1_SM',130 'desc': 'Delete selection that starts and ends within nodes that don\'t have children',131 'pad': 'foo<hr {>bar<br }>baz',132 'expected': 'foo<hr>|<br>baz' }133 ]134 },135 { 'desc': 'forward-delete from immediately before a table',136 'tests': [137 { 'id': 'TABLE-1_SB',138 'desc': 'Delete from position immediately before table (should have no effect)',139 'pad': 'foo^<table><tbody><tr><td>bar</td></tr></tbody></table>baz',140 'expected': 'foo^<table><tbody><tr><td>bar</td></tr></tbody></table>baz' }141 ]142 },143 { 'desc': 'forward-delete within table cells',144 'tests': [145 { 'id': 'TD-1_SE',146 'desc': 'Delete from end of last cell (should have no effect)',147 'pad': 'foo<table><tbody><tr><td>bar^</td></tr></tbody></table>baz',148 'expected': 'foo<table><tbody><tr><td>bar^</td></tr></tbody></table>baz' },149 { 'id': 'TD2-1_SE1',150 'desc': 'Delete from end of inner cell (should have no effect)',151 'pad': 'foo<table><tbody><tr><td>bar^</td><td>baz</td></tr></tbody></table>quoz',152 'expected': 'foo<table><tbody><tr><td>bar^</td><td>baz</td></tr></tbody></table>quoz' },153 { 'id': 'TD2-1_SM',154 'desc': 'Delete with selection spanning 2 cells',155 'pad': 'foo<table><tbody><tr><td>ba[r</td><td>b]az</td></tr></tbody></table>quoz',156 'expected': 'foo<table><tbody><tr><td>ba^</td><td>az</td></tr></tbody></table>quoz' }157 ]158 },159 { 'desc': 'forward-delete table rows',160 'tests': [161 { 'id': 'TR3-1_SO1',162 'desc': 'Delete first table row',163 'pad': '<table><tbody>{<tr><td>A</td></tr>}<tr><td>B</td></tr><tr><td>C</td></tr></tbody></table>',164 'expected': ['<table><tbody>|<tr><td>B</td></tr><tr><td>C</td></tr></tbody></table>',165 '<table><tbody><tr><td>^B</td></tr><tr><td>C</td></tr></tbody></table>'] },166 { 'id': 'TR3-1_SO2',167 'desc': 'Delete middle table row',168 'pad': '<table><tbody><tr><td>A</td></tr>{<tr><td>B</td></tr>}<tr><td>C</td></tr></tbody></table>',169 'expected': ['<table><tbody><tr><td>A</td></tr>|<tr><td>C</td></tr></tbody></table>',170 '<table><tbody><tr><td>A</td></tr><tr><td>^C</td></tr></tbody></table>'] },171 { 'id': 'TR3-1_SO3',172 'desc': 'Delete last table row',173 'pad': '<table><tbody><tr><td>A</td></tr><tr><td>B</td></tr>{<tr><td>C</td></tr>}</tbody></table>',174 'expected': ['<table><tbody><tr><td>A</td></tr><tr><td>B</td></tr>|</tbody></table>',175 '<table><tbody><tr><td>A</td></tr><tr><td>B^</td></tr></tbody></table>'] },176 { 'id': 'TR2rs:2-1_SO1',177 'desc': 'Delete first table row where a cell has rowspan 2',178 'pad': '<table><tbody>{<tr><td>A</td><td rowspan=2>R</td></tr>}<tr><td>B</td></tr></tbody></table>',179 'expected': ['<table><tbody>|<tr><td>B</td><td>R</td></tr></tbody></table>',180 '<table><tbody><tr><td>^B</td><td>R</td></tr></tbody></table>'] },181 { 'id': 'TR2rs:2-1_SO2',182 'desc': 'Delete second table row where a cell has rowspan 2',183 'pad': '<table><tbody><tr><td>A</td><td rowspan=2>R</td></tr>{<tr><td>B</td></tr>}</tbody></table>',184 'expected': ['<table><tbody><tr><td>A</td><td>R</td></tr>|</tbody></table>',185 '<table><tbody><tr><td>A</td><td>R^</td></tr></tbody></table>'] },186 { 'id': 'TR3rs:3-1_SO1',187 'desc': 'Delete first table row where a cell has rowspan 3',188 'pad': '<table><tbody>{<tr><td>A</td><td rowspan=3>R</td></tr>}<tr><td>B</td></tr><tr><td>C</td></tr></tbody></table>',189 'expected': ['<table><tbody>|<tr><td>A</td><td rowspan="2">R</td></tr><tr><td>C</td></tr></tbody></table>',190 '<table><tbody><tr><td>^A</td><td rowspan="2">R</td></tr><tr><td>C</td></tr></tbody></table>'] },191 { 'id': 'TR3rs:3-1_SO2',192 'desc': 'Delete middle table row where a cell has rowspan 3',193 'pad': '<table><tbody><tr><td>A</td><td rowspan=3>R</td></tr>{<tr><td>B</td></tr>}<tr><td>C</td></tr></tbody></table>',194 'expected': ['<table><tbody><tr><td>B</td><td rowspan="2">R</td></tr>|<tr><td>C</td></tr></tbody></table>',195 '<table><tbody><tr><td>B</td><td rowspan="2">R</td></tr><tr><td>^C</td></tr></tbody></table>'] },196 { 'id': 'TR3rs:3-1_SO3',197 'desc': 'Delete last table row where a cell has rowspan 3',198 'pad': '<table><tbody><tr><td>A</td><td rowspan=3>R</td></tr><tr><td>B</td></tr>{<tr><td>C</td></tr>}</tbody></table>',199 'expected': ['<table><tbody><tr><td>A</td><td rowspan="2">R</td></tr><tr><td>B</td></tr>|</tbody></table>',200 '<table><tbody><tr><td>A</td><td rowspan="2">R</td></tr><tr><td>B^</td></tr></tbody></table>'] }201 ]202 },203 { 'desc': 'delete with non-editable nested content',204 'tests': [205 { 'id': 'DIV:ce:false-1_SO',206 'desc': 'Delete nested non-editable <div>',207 'pad': 'foo[bar<div contenteditable="false">NESTED</div>baz]qoz',208 'expected': 'foo^qoz' },209 { 'id': 'DIV:ce:false-1_SB',210 'desc': 'Delete from immediately before a nested non-editable <div> (should be no-op)',211 'pad': 'foobar^<div contenteditable="false">NESTED</div>bazqoz',212 'expected': 'foobar^<div contenteditable="false">NESTED</div>bazqoz' },213 { 'id': 'DIV:ce:false-1_SL',214 'desc': 'Delete nested non-editable <div> with oblique selection',215 'pad': 'foo[bar<div contenteditable="false">NES]TED</div>bazqoz',216 'expected': [ 'foo^<div contenteditable="false">NESTED</div>bazqoz',217 'foo<div contenteditable="false">[NES]TED</div>bazqoz' ] },218 { 'id': 'DIV:ce:false-1_SR',219 'desc': 'Delete nested non-editable <div> with oblique selection',220 'pad': 'foobar<div contenteditable="false">NES[TED</div>baz]qoz',221 'expected': [ 'foobar<div contenteditable="false">NESTED</div>^qoz',222 'foobar<div contenteditable="false">NES[TED]</div>qoz' ] },223 { 'id': 'DIV:ce:false-1_SI',224 'desc': 'Delete inside nested non-editable <div> (should be no-op)',225 'pad': 'foobar<div contenteditable="false">NE[ST]ED</div>bazqoz',226 'expected': 'foobar<div contenteditable="false">NE[ST]ED</div>bazqoz' }227 ]228 },229 { 'desc': 'Delete with display:inline-block',230 'checkStyle': True,231 'tests': [232 { 'id': 'SPAN:d:ib-1_SC',233 'desc': 'Delete inside an inline-block <span>',234 'pad': 'foo<span style="display: inline-block">bar^baz</span>qoz',235 'expected': 'foo<span style="display: inline-block">bar^az</span>qoz' },236 { 'id': 'SPAN:d:ib-1_SA',237 'desc': 'Delete from immediately before an inline-block <span>',238 'pad': 'foo^<span style="display: inline-block">barbaz</span>qoz',239 'expected': 'foo^<span style="display: inline-block">arbaz</span>qoz' },240 { 'id': 'SPAN:d:ib-2_SL',241 'desc': 'Delete with nested inline-block <span>, oblique selection',242 'pad': 'foo[DEL<span style="display: inline-block">ETE]bar</span>baz',243 'expected': 'foo^<span style="display: inline-block">bar</span>baz' },244 { 'id': 'SPAN:d:ib-3_SR',245 'desc': 'Delete with nested inline-block <span>, oblique selection',246 'pad': 'foo<span style="display: inline-block">bar[DEL</span>ETE]baz',247 'expected': 'foo<span style="display: inline-block">bar^</span>baz' },248 { 'id': 'SPAN:d:ib-4i_SI',249 'desc': 'Delete with nested inline-block <span>, oblique selection',250 'pad': 'foo<span style="display: inline-block">bar[DELETE]baz</span>qoz',251 'expected': 'foo<span style="display: inline-block">bar^baz</span>qoz' },252 { 'id': 'SPAN:d:ib-4l_SI',253 'desc': 'Delete with nested inline-block <span>, oblique selection',254 'pad': 'foo<span style="display: inline-block">[DELETE]barbaz</span>qoz',255 'expected': 'foo<span style="display: inline-block">^barbaz</span>qoz' },256 { 'id': 'SPAN:d:ib-4r_SI',257 'desc': 'Delete with nested inline-block <span>, oblique selection',258 'pad': 'foo<span style="display: inline-block">barbaz[DELETE]</span>qoz',259 'expected': 'foo<span style="display: inline-block">barbaz^</span>qoz' }260 ]261 }262 ]...
test_fields.py
Source:test_fields.py
...18 """19 PageField.on_delete defaults to CASCADE20 """21 on_delete_model = PageOnDeleteCascade.objects.create(page=self.page)22 on_delete_model.page.delete()23 self.assertFalse(PageOnDeleteCascade.objects.filter(pk=on_delete_model.pk).exists())24 def test_page_field_on_delete_set_null(self):25 """26 PageField uses on_delete override27 """28 on_delete_model = PageOnDeleteSetNull.objects.create(page=self.page)29 on_delete_model.page.delete()30 on_delete_model.refresh_from_db()31 self.assertIsNotNone(on_delete_model)32 self.assertIsNone(on_delete_model.page)33class PlaceholderFieldOnDeleteTestCase(CMSTestCase):34 def setUp(self):35 super(PlaceholderFieldOnDeleteTestCase, self).setUp()36 self.page = create_page(37 'on delete test page',38 template='nav_playground.html',39 language='en',40 published=True,41 )42 self.page.reload()43 self.placeholder = self.page.get_placeholders().get(slot='body')44 def test_placeholder_field_on_delete_cascade(self):45 """46 PlaceholderField.on_delete defaults to CASCADE47 """48 on_delete_model = PlaceholderOnDeleteCascade.objects.create(placeholder=self.placeholder)49 on_delete_model.placeholder.delete()50 self.assertFalse(PlaceholderOnDeleteCascade.objects.filter(pk=on_delete_model.pk).exists())51 def test_placeholder_field_on_delete_set_null(self):52 """53 PlaceholderField uses on_delete override54 """55 on_delete_model = PlaceholderOnDeleteSetNull.objects.create(placeholder=self.placeholder)56 on_delete_model.placeholder.delete()57 on_delete_model.refresh_from_db()58 self.assertIsNotNone(on_delete_model)...
manage_aws.py
Source:manage_aws.py
1import boto32import __future__3import delete.delete_ec2_resources as delec24import delete.delete_rds_resources as delrds5import delete.delete_vpc_resources as delvpc6import delete.delete_iam_resources as deliam7import delete.delete_elb_resources as delelb8import data.sessions9if __name__ == "__main__":10 # Define Variables11 sessions = data.sessions.session_list()12 delete_condition = "10."13 # Select Mode14 print "Select Run Mode (1: first / 2: second) : "15 mode = raw_input()16 #print mode17 # Create Session18 for name in sessions:19 session = boto3.Session(20 profile_name=name21 )22 ec2_deletion = delec2.delEC2Resource(session)23 rds_deletion = delrds.delRDSResource(session)24 vpc_deletion = delvpc.delVPCResource(session, delete_condition)25 iam_deletion = deliam.delIAMResource(session)26 elb_deletion = delelb.delELBResourse(session)27 print "start to {}".format(name)28 if mode == "1":29 print "================================"30 print "starting delete ec2 resources"31 ec2_deletion.delete_ec2_instance()32 ec2_deletion.delete_keypairs()33 print "================================"34 print "starting delete RDS resources"35 rds_deletion.delete_rds_instances()36 print "================================"37 print "starting delete IAM resources"38 iam_deletion.detach_iam_policies()39 print "================================"40 print "starting delete ELB resources"41 elb_deletion.delete_elbs()42 elif mode == "2":43 print "================================"44 print "starting delete ec2 resources"45 ec2_deletion.delete_eips()46 print "================================"47 print "starting delete VPC resources"48 vpc_deletion.delete_vpcs()49 else:50 print "Mode Selection is Failed."...
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.fill('input[aria-label="Search"]', 'Playwright');7 await page.keyboard.press('Enter');8 await page.waitForSelector('text=Playwright - Google Search');9 await page.click('text=Playwright - Google Search');10 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');11 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');12 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');13 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');14 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');15 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');16 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');17 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');18 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');19 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');20 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');21 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');22 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');23 await page.click('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with a single API');24 await page.waitForSelector('text=Playwright is a Node library to automate Chromium, Firefox and WebKit with
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 const cookies = await page.context().cookies();7 console.log(cookies);8 await page.context().clearCookies();9 await browser.close();10})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false, slowMo: 50 });4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.waitForSelector('input[name="q"]');7 await page.type('input[name="q"]', 'playwright');8 await page.keyboard.press('Enter');9 await page.waitForSelector('text=Docs');10 await page.click('text=Docs');11 await page.waitForSelector('text=API');12 await page.click('text=API');13 await page.waitForSelector('a[href="/docs/api/class-page"]');14 await page.click('a[href="/docs/api/class-page"]');15 await page.waitForSelector('text=deleteCookie');16 await page.click('text=deleteCookie');17 await page.waitForSelector('text=deleteCookies');18 await page.click('text=deleteCookies');19 await page.waitForSelector('text=deleteDownload');20 await page.click('text=deleteDownload');21 await page.waitForSelector('text=deleteExtraHTTPHeaders');22 await page.click('text=deleteExtraHTTPHeaders');23 await page.waitForSelector('text=deleteGeolocation');24 await page.click('text=deleteGeolocation');25 await page.waitForSelector('text=deletePermission');26 await page.click('text=deletePermission');27 await page.waitForSelector('text=deleteProxy');28 await page.click('text=deleteProxy');29 await page.waitForSelector('text=deleteStorageState');30 await page.click('text=deleteStorageState');31 await page.waitForSelector('text=deleteTimeout');32 await page.click('text=deleteTimeout');33 await page.waitForSelector('text=deleteVideo');34 await page.click('text=deleteVideo');35 await page.waitForSelector('text=emulate');36 await page.click('text=emulate');37 await page.waitForSelector('text=emulateMedia');38 await page.click('text=emulateMedia');39 await page.waitForSelector('text=emulateMediaFeatures');40 await page.click('text=emulateMediaFeatures');41 await page.waitForSelector('text=emulateNetworkConditions');42 await page.click('
Using AI Code Generation
1const { chromium } = require('playwright-chromium');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.click('text=Next');7 await page.click('text=Next');8 await page.click('text=Next');9 const [response] = await Promise.all([10 page.click('text=Next'),11 ]);12 const data = await response.json();13 console.log(data);14 await browser.close();15})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.screenshot({ path: `example.png` });7 await browser.close();8})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch({ headless: false });4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.context().addCookies([7 {8 },9 {10 },11 ]);12 const cookies = await page.context().cookies();13 console.log(cookies);14 await page.context().deleteCookies();15 await page.reload();16 const cookiesAfterDelete = await page.context().cookies();17 console.log(cookiesAfterDelete);18 await browser.close();19})();
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 const client = await page.context().newCDPSession(page);7 await client.send('Network.enable');8 await client.send('Network.setRequestInterception', { patterns: [{ urlPattern: '*' }] });9 client.on('Network.requestIntercepted', async ({ interceptionId }) => {10 await client.send('Network.continueInterceptedRequest', { interceptionId });11 await client.send('Network.deleteCookies', { name: 'cookieName' });12 });13 await browser.close();14})();15const { chromium } = require('playwright');16(async () => {17 const browser = await chromium.launch();18 const context = await browser.newContext();19 const page = await context.newPage();20 const client = await page.context().newCDPSession(page);21 await client.send('Network.enable');22 await client.send('Network.emulateNetworkConditions', {23 });24 await browser.close();25})();26const { chromium } = require('playwright');27(async () => {28 const browser = await chromium.launch();29 const context = await browser.newContext();30 const page = await context.newPage();31 const client = await page.context().newCDPSession(page);32 await client.send('Network.enable');33 const { cookies } = await
Using AI Code Generation
1const { chromium } = require('playwright');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 page.on('request', request => {7 if (request.url().endsWith('style.css')) {8 request.delete();9 }10 });11 await page.screenshot({ path: `screenshot.png` });12 await browser.close();13})();14const { chromium } = require('playwright');15(async () => {16 const browser = await chromium.launch();17 const context = await browser.newContext();18 const page = await context.newPage();19 page.route('**/*', route => {20 if (route.request().url().endsWith('style.css')) {21 const headers = Object.assign({}, route.request().headers(), {22 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/56.0.2924.75 Mobile/14E5239e Safari/602.1'23 });24 route.continue({ headers });25 } else {26 route.continue();27 }28 });29 await page.screenshot({ path: `screenshot.png` });30 await browser.close();31})();32const { chromium } = require('playwright');33(async () => {34 const browser = await chromium.launch();35 const context = await browser.newContext();36 const page = await context.newPage();37 page.route('**/*', route => {38 if (route.request().url().endsWith('style.css')) {39 const headers = Object.assign({}, route.request().headers(), {40 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/56.0.2924.75 Mobile
Using AI Code Generation
1const { test, expect } = require('@playwright/test');2test('delete method', async ({ page }) => {3 await page.click('text=Docs');4 await page.click('text=API');5 await page.click('text=Class: Page');6 await page.click('text=deleteCookie');7 await page.click('text=deleteCookies');8 await page.click('text=deleteCookie');9 await page.click('text=deleteCookies');10 await page.click('text=deleteCookie');11 await page.click('text=deleteCookies');12 await page.click('text=deleteCookie');13 await page.click('text=deleteCookies');14 await page.click('text=deleteCookie');15 await page.click('text=deleteCookies');16 await page.click('text=deleteCookie');17 await page.click('text=deleteCookies');18 await page.click('text=deleteCookie');19 await page.click('text=deleteCookies');20 await page.click('text=deleteCookie');21 await page.click('text=deleteCookies');22 await page.click('text=deleteCookie');23 await page.click('text=deleteCookies');24 await page.click('text=deleteCookie');25 await page.click('text=deleteCookies');26 await page.click('text=deleteCookie');27 await page.click('text=deleteCookies');28 await page.click('text=deleteCookie');29 const url = await page.url();30});31const { test, expect } = require('@playwright/test');32test('delete method', async ({ page }) => {33 await page.click('text=Docs');34 await page.click('text=API');35 await page.click('text=Class: Page');36 await page.click('text=deleteCookie');37 await page.click('text=deleteCookies');38 await page.click('text=deleteCookie');39 await page.click('text=deleteCookies');40 await page.click('text=deleteCookie');41 const url = await page.url();42});
Using AI Code Generation
1const { test, expect } = require('@playwright/test');2test('delete method', async ({ page }) => {3 await page.deleteCookies();4 const cookies = await page.cookies();5 expect(cookies.length).toBe(0);6});7const { test, expect } = require('@playwright/test');8test('clear method', async ({ page }) => {9 await page.clearCookies();10 const cookies = await page.cookies();11 expect(cookies.length).toBe(0);12});13const { test, expect } = require('@playwright/test');14test('clear method', async ({ page }) => {15 await page.clearCookies();16 const cookies = await page.cookies();17 expect(cookies.length).toBe(0);18});19const { test, expect } = require('@playwright/test');20test('setStorageState method', async ({ page }) => {21 await page.setStorageState({22 {23 },24 {25 { name: 'name1', value: 'value1' },26 { name: 'name2', value: 'value2' },27 },28 });29 const cookies = await page.cookies();30 expect(cookies.length).toBe(1);31 expect(cookies[0].name).toBe('cookie1');32 const localStorage = await page.evaluate(() => localStorage.getItem('name1'));33 expect(localStorage).toBe('"value1"');34});35const { test, expect } = require('@playwright/test');36test('storageState method', async ({ page })
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!