From 661652f297538c0fc377c99830ff20456e0b880a Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 7 Aug 2022 18:01:06 +0900 Subject: [PATCH 1/2] second commit --- Dhackathon/db.sqlite3 | Bin 0 -> 151552 bytes .../__pycache__/settings.cpython-310.pyc | Bin 2294 -> 2349 bytes .../__pycache__/urls.cpython-310.pyc | Bin 943 -> 992 bytes Dhackathon/hackathon/settings.py | 2 +- Dhackathon/hackathon/urls.py | 3 +- .../nny/__pycache__/__init__.cpython-310.pyc | Bin 0 -> 159 bytes .../nny/__pycache__/admin.cpython-310.pyc | Bin 0 -> 329 bytes .../nny/__pycache__/apps.cpython-310.pyc | Bin 0 -> 432 bytes .../nny/__pycache__/models.cpython-310.pyc | Bin 0 -> 1018 bytes .../__pycache__/serializers.cpython-310.pyc | Bin 0 -> 1015 bytes .../nny/__pycache__/urls.cpython-310.pyc | Bin 0 -> 389 bytes .../nny/__pycache__/views.cpython-310.pyc | Bin 0 -> 1628 bytes Dhackathon/nny/admin.py | 5 ++ Dhackathon/nny/migrations/0001_initial.py | 64 ++++++++++++++++++ .../__pycache__/0001_initial.cpython-310.pyc | Bin 0 -> 2818 bytes .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 170 bytes Dhackathon/nny/models.py | 14 ++++ Dhackathon/nny/serializers.py | 14 ++++ Dhackathon/nny/urls.py | 10 +++ Dhackathon/nny/views.py | 31 ++++++++- 20 files changed, 140 insertions(+), 3 deletions(-) create mode 100644 Dhackathon/nny/__pycache__/__init__.cpython-310.pyc create mode 100644 Dhackathon/nny/__pycache__/admin.cpython-310.pyc create mode 100644 Dhackathon/nny/__pycache__/apps.cpython-310.pyc create mode 100644 Dhackathon/nny/__pycache__/models.cpython-310.pyc create mode 100644 Dhackathon/nny/__pycache__/serializers.cpython-310.pyc create mode 100644 Dhackathon/nny/__pycache__/urls.cpython-310.pyc create mode 100644 Dhackathon/nny/__pycache__/views.cpython-310.pyc create mode 100644 Dhackathon/nny/migrations/0001_initial.py create mode 100644 Dhackathon/nny/migrations/__pycache__/0001_initial.cpython-310.pyc create mode 100644 Dhackathon/nny/migrations/__pycache__/__init__.cpython-310.pyc create mode 100644 Dhackathon/nny/serializers.py create mode 100644 Dhackathon/nny/urls.py diff --git a/Dhackathon/db.sqlite3 b/Dhackathon/db.sqlite3 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5e8d2fa7bf13b51b920a231d13c2872ca85f9e77 100644 GIT binary patch literal 151552 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 ooh($ literal 0 HcmV?d00001 diff --git a/Dhackathon/hackathon/__pycache__/settings.cpython-310.pyc b/Dhackathon/hackathon/__pycache__/settings.cpython-310.pyc index 04c3765708ae646912025c0c532e9401ba13de19..ea7b0a9e047312fa5a1645911cecaf61bb4214b1 100644 GIT binary patch delta 327 zcmW-dF-yZx5XaxWydlk4o<%I;Ql}E{(m^Q-{PC^OdKcARDCwS&+*aOynj^#F=Pb9uVBQH z10xN!n8)G)p7j?tG=>J6Bv6u$xrAXpVPwn!Ek#q&CW#Iyhjdzc)*J>v_Dm#z1#-}( z0=cnCUY${K#s`2N`BYLFpBm*Af|XVVkO(YN6@98e9+SJ3(5N)c0u!6SXdBv&|F(O7QC2!p diff --git a/Dhackathon/hackathon/__pycache__/urls.cpython-310.pyc b/Dhackathon/hackathon/__pycache__/urls.cpython-310.pyc index 0abe7eb1f269313e7ff07f356eaeb13a76e52fc5..df63bdef2cd3f625dd0febb6a828e393165ff756 100644 GIT binary patch delta 190 zcmZ3_{(xOOpO=@50SLAxze_S@W?*;>;vfT7AjbiSiybCv%WCAZMzJz7q_U*2q%vi( zWwAFi0okmntSM~GjLl5xOi>&u?7pO=@50SIbeyh&nVW?*;>;vfT{7=r^47aL5}mX%;+NM%W3NoC4n&0=e2 zN@t8>Phkya&}7?K(8eUhc#EYVu_U94EiolGGf&@7lVh?Xvw`|8mg3Bk)LSg2MLET{ uxPc^4QAui1UhztXB2J*mVB(kag`kf~7CtB!TG1AOaaM0yz#qT+9L_QW%06G#UL?G8BP?5yUSiXRDad;?$zz z7{A2q%GCV4^ca`a;_Q~n} z6m2LV3A_AtBJo?i|MTR;)8qwNp^6@2H&j8OT&PYTAQ2Aa(McQVgXNtLWF@(;tD-p< zJFZ(Z+ZgR_x3*b)9CBrZ9GoQ)EKQQ9W8yk5Lt$mxIWO%yvgvzA`MJHnVrhV5HSb4h zbjudf_1^5+l5cwMw?;qL^%Glc|B-1uvg3-g{TPbtIP_(ZH)&m$8kgu2N>aiF`~nj4 BQxyOJ literal 0 HcmV?d00001 diff --git a/Dhackathon/nny/__pycache__/apps.cpython-310.pyc b/Dhackathon/nny/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1af8f13ac778426a13ef4f182dad2f31453c6a0f GIT binary patch literal 432 zcmYjNy-ve05VqqKrGE?Rio}{F4}ehB(h8WeAO<2!mfLgF($o%dGK3W#fS2gND`jP> z#1k-aZj0zi_xXOlyYrpt_d5h-yZfGf;QQsAQ}NLmq1sCXAV4#+p$Vnrj(`X3od8qx zjU^uV4<3?U#s4d^}=hpg!ymvP*}b0Z!5fB3=bVyp?S4_ge~y{v24BLnse DX{>AE literal 0 HcmV?d00001 diff --git a/Dhackathon/nny/__pycache__/models.cpython-310.pyc b/Dhackathon/nny/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ba8ee1b16d31bb25fed9b77d672073be6e07b696 GIT binary patch literal 1018 zcmZuwJ8#=C5GEz+VO362qv()-pv6PSwkVwD(HCkIa5_{FAkgO3mLpLKMFI8PuK5q? z*uTWJQ>N^ldX(HIKth3syYG(2`|hZEIE)Ccn`bxk7Y-r6t#NlTG$y#4PbdTtv?LWx zDYd#&I+dHcl)NFr73>EQ4BYQ-%FyXq?ZSzNR*O?(sPx#Sh(xry=|OK3~0$9aCy^0N0R>@QJhS&T*_5Acpq9(*2%0lppJ#9R;*9H6E%WL0OLnySXJ%4vvYz$$e4{Ke zA9rJwkc?=D+~aSHnb@!=C~o;*v7ZE)Q)KQK?^N+ZB0UvikQ!KFhukxX-$@NiP#u>v z#8wwFFT^dGUfZz;c2U^l+oEFHA@_>%Fl1uG-lMoJYR$mI(fD>Wmu?!^F+tcNc2EOw zuOck_5hAf*!n>sDaEt8-AE^X}&4BBaH7JqT0Go)f1T>gfLCH0UZhQ$-L*L9-nx?wHOQte^RG_-f;vaL+~x~@y$ zvTxj=XmaZUkp_+Cx~S!YEqshgV%&`tcCLFgq%nTVdZtNe24cB literal 0 HcmV?d00001 diff --git a/Dhackathon/nny/__pycache__/serializers.cpython-310.pyc b/Dhackathon/nny/__pycache__/serializers.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a033a748117da995925a5351c958097bff7f58d1 GIT binary patch literal 1015 zcmZuwO>Yx15VgJbW>fN^rllY_gA@+^0jNTiS_GHol5k+Pl4WYQU9#CN_C_eZmMedP z8xp_BS5Ccf>5UUJyZIuiB|mv)>^JtjanWw?5E#*mKc9Y4LVlyMJ~$Z1Fx?S=CYoks zLSssaW;)2&h`b}3Yw?X}Vd&@JHi$WRLfrsQW9|_;8j^nV4j4$E`bW;#RAuRnvF;9X zqL02h$LRV9z&M8Ko&gvVQ%zz9+*C8*X16R3bO5~EcZNol!zJk!6Pq*LKV4%oaMMd* z`$1!&8Sn%*d;jwso|#hhL(fv}`4legMQK%<`^Z5)nNKIanL3Gv(Z1nIRi;HgfD@6F zxtbU${f?BALQgYXx1{_sRoOhkF_{+-HJJ}DQj=--lh{4DVg-NSp1e*zKvtIw)Oco! z{4zN;Zd?}E$$ND^R^?TZ%faAda(cBelRTd#Yt=oxo_UV15WspL0z`z<7PXIIIp}lS z#%vvgE&{q&H>g+p=)?2a2@WA5Jz9CT3cYNWm#}RinF&BL5bZmwS|iXL5g9pi_RWK}s)g9WHbQ7{$rM>zi_UO^y*{i1> z#JeCkX;mE9H}CBXk9lRcdql8aPd{$ovA;FqfB7iR@aYIa5=jfPqzR=&I?^qi8IfM% z0+lWBo?Bb;7X5+WT001h14DN-NWbPe8jIb)SAa4Uqh+pJOZ7Yvf>xw tF2@w5O5^y3M~h#{F$-_b8&qq{#>-N!3Yaum^)W(7810fp4n_|>4MW?Z0k#2yF*MnL2?hk!WD?u5<7^XSKk_ zp5ZqoKr+b-HsvYjOnTBUyuGIOQ8O77!BnIIV@!%7oJMKH+0RUdGJ3;gq{KKr^V2n0 zVz~y(+LfgROG~c9vVLV*m&q>cwlAvFqspz5r8IaWhdI(z)+@da;2`1cqVM%F(4Qb(O@zHsP|MCGqv6M@edNQCxyy2-YIkpqFy{Ge0`P<0Uf5KybNUN4b zph09j$A7sEsM(nR8yD)w!p)vLKOwGHz9RsUgpSrg-*?CzVIY>nei6E89x=s zmKdXjjC*|~$eT^NLVK946M}mL{td6S=psYQ-$Chlj+BA$=0B#4NaV8$~E;`M*oo~~pjel&e{1bYK4P`lDl#>MCX0RDP G2>%1hQ&fEb literal 0 HcmV?d00001 diff --git a/Dhackathon/nny/admin.py b/Dhackathon/nny/admin.py index 8c38f3f3..3c3af5fd 100644 --- a/Dhackathon/nny/admin.py +++ b/Dhackathon/nny/admin.py @@ -1,3 +1,8 @@ from django.contrib import admin +from .models import User, Train, Seat # Register your models here. + +admin.site.register(User) +admin.site.register(Train) +admin.site.register(Seat) \ No newline at end of file diff --git a/Dhackathon/nny/migrations/0001_initial.py b/Dhackathon/nny/migrations/0001_initial.py new file mode 100644 index 00000000..e96bfc60 --- /dev/null +++ b/Dhackathon/nny/migrations/0001_initial.py @@ -0,0 +1,64 @@ +# Generated by Django 4.1 on 2022-08-07 03:35 + +from django.conf import settings +import django.contrib.auth.models +import django.contrib.auth.validators +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + ] + + operations = [ + migrations.CreateModel( + name='User', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('password', models.CharField(max_length=128, verbose_name='password')), + ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), + ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), + ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), + ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')), + ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), + ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), + ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), + ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), + ('email', models.EmailField(max_length=100, unique=True)), + ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')), + ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')), + ], + options={ + 'verbose_name': 'user', + 'verbose_name_plural': 'users', + 'abstract': False, + }, + managers=[ + ('objects', django.contrib.auth.models.UserManager()), + ], + ), + migrations.CreateModel( + name='Train', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('train_id', models.IntegerField()), + ], + ), + migrations.CreateModel( + name='Seat', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('seat_num', models.IntegerField()), + ('is_seated', models.BooleanField(default=False)), + ('station', models.IntegerField()), + ('train', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='seat', to='nny.train')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/Dhackathon/nny/migrations/__pycache__/0001_initial.cpython-310.pyc b/Dhackathon/nny/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4ad15faa55900794ee9403db926740836fa8d28c GIT binary patch literal 2818 zcmZuz&2!r}7AGl+qGb6aPU0j^+OpqKo6>f>**4v58^?Cq&Nglv+qza6LBIBoQnLo$p3?}PqF$%rs!-BAXS^$S8=k5SSXYpoWn8LYkO56)Tg#n& zE+KITfAS~Saj4UD!D)KnqD8OkHho&|2T%f^R{9~h_?97n%8B3cAVgjjst`i$#6x-x z>6($L!~97JISa^{!ySvT1m_HA+3YzF7nlndVFg@T@6Y!a`ioDNzIVDVEW@Rf0C!$C zaxO|-fmO5f>Wp)3!g*<;{bhJ%qCGMk7hZ+eCY;xiQ$ri)`pfs; zVp03>g{XZ*D^D&NNe^zFcn05(Unu#fsU+M+KQxYiK5-G7PiFj2k$)NOU+Gu+tNp8R z2R7lZLF>lzEA(3bCD_tu?FQOvx72(YwlQyZRQ3KeNA@ved@{;=>dp1_jrS9h=2Rpj zi9?48nJ1hKXfhy=la%rB<;+CSU{Glr38(qS(ov`%p)^zlvKHu5`Lt7 zK1x$7TW2znqahXA?c(cgDp{AKH!{k5B*%ftNH0Y_A|sNf5sD6&l)6NsW0v=_Q6AC9 z!<4mIo{l5*4HaNL;Z{0`i=~&Uqg0qe3H55yt5vlg$tyY}8%5@kFc$4~#IQ4Q1r6(SSKfJ#ZaR0>`8;+!6?7>plb zY=GpMkQ2~PLtfO(Jklp=l*IYjP7|G~iH=??%+!dfP{$!BolbGYlY&HTLI30IY7c|u+YAbMgN@0d#wVH(WFcZwFmb9Ye zOqCR`?+t02by)kk+Ua0c&Z;Xe7LDc8ZH3Wuc84l!%~(Iy&iS)VAsMD4K~fcxmdth9 zt4h}DW7H%z8Q)e^htU)yE)4Dc77hr<%ob9W_XS~Gg}9UPgaJllT}Np{AKl->=A>^) zg8ghXFj=Ju3Juo;Q&n_fV?R)3qd@t3xu|kJjtv7VzMApGzowdQwlKr6SW^WDZP zDokv@OjIpN@a`R@G)YuFNgj?!s*iwFg>jZ+S5$SNL&|~jHpAL1X-DU_O!D5>x3?JL9=vEfHuhuW5ys z4>)V1{)0)I`s=g@U~F=hN`w%V78$3i#Is{n+tC?r)h^yAe7v9O(K6<=79@2HRQ(G~ zRGiqQ+PzFrY@>g{d%%O13T>?+#Feehy{*md9pPzz7B>&}KTi(!b{-`6zuMmUQq?ld zAp8CDA4mL6JFbUczS;WtP@9v7yX0t0v49S-BOK+~@bGieJ|fu0d9u6v-Qjj`N*-eT z4o^Ra4%hLDOD6Eg!?7r%-Z}iqZ*d46-}6fTZ+_WxFL+DtGQQW%sAntgl6x6n?`Lnx zb3NDpbt&+E^Z)CwYU!HmJ@cRW6+2&WYwjw(-Y@>M@CRe1F^3Js#3aU$bnMYrPdPeB zu_+(>#U?&OkMO#lZ8;S(^b literal 0 HcmV?d00001 diff --git a/Dhackathon/nny/migrations/__pycache__/__init__.cpython-310.pyc b/Dhackathon/nny/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3b4fea2dc81916f9eba1356d66ab9ce87358579b GIT binary patch literal 170 zcmd1j<>g`kf~7CtB!TG1AOaaM0yz#qT+9L_QW%06G#UL?G8BP?5yUTFXRDad;?$zz z7{A2q%GCV4^ca`a;_Q', TrainDetailView.as_view()), + path('seats/', SeatView.as_view()), +] \ No newline at end of file diff --git a/Dhackathon/nny/views.py b/Dhackathon/nny/views.py index 91ea44a2..de95e7a1 100644 --- a/Dhackathon/nny/views.py +++ b/Dhackathon/nny/views.py @@ -1,3 +1,32 @@ -from django.shortcuts import render +from django.shortcuts import get_object_or_404 +from .serializers import * +from .models import * +from rest_framework import views +from rest_framework.response import Response # Create your views here. + +class TrainListView(views.APIView): + def get(self, request, format=None): + trains=Train.objects.all() + serializer=TrainSerializer(trains, many=True) + return Response(serializer.data) + +class TrainDetailView(views.APIView): + def get(self, request, pk, format=None): + train = get_object_or_404(Train, pk=pk) + serializer = TrainSerializer(train) + return Response(serializer.data) + +class SeatView(views.APIView): + def patch(self, request, format=None): + serializer = SeatSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data) + return Response(serializer.errors) + + def get(self, request, format=None): + seats=Seat.objects.all() + serializer=SeatSerializer(seats, many=True) + return Response(serializer.data) \ No newline at end of file From 3df51e4fb6e43a2f44876f77995feae3f8717f8f Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 9 Aug 2022 23:26:48 +0900 Subject: [PATCH 2/2] me_genius --- Dhackathon/db.sqlite3 | Bin 151552 -> 155648 bytes .../nny/__pycache__/admin.cpython-310.pyc | Bin 329 -> 750 bytes .../nny/__pycache__/models.cpython-310.pyc | Bin 1018 -> 1206 bytes Dhackathon/nny/admin.py | 9 ++++++- ..._alter_seat_seat_num_alter_seat_station.py | 24 ++++++++++++++++++ ...eat_num_alter_seat_station.cpython-310.pyc | Bin 0 -> 839 bytes Dhackathon/nny/models.py | 5 ++-- 7 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 Dhackathon/nny/migrations/0002_alter_seat_seat_num_alter_seat_station.py create mode 100644 Dhackathon/nny/migrations/__pycache__/0002_alter_seat_seat_num_alter_seat_station.cpython-310.pyc diff --git a/Dhackathon/db.sqlite3 b/Dhackathon/db.sqlite3 index 5e8d2fa7bf13b51b920a231d13c2872ca85f9e77..30f05b734f05f49b5e6ce9213caa6a587a726a5e 100644 GIT binary patch delta 1904 zcmai!Yitx%6vywqGrKdlboXqfP_Tgx<(;zAdGEszg{?Ivg^C3g4OwO%(k<<5>29fn z;1-OZg{*P)3u2=2gM5%Iu?9`V2Z;z@NI*iOglK}|BM>7Rq6yxa*6l7<-OT;Z+1-=h zIrp4Z&49KtJvyb3$tY$S*K(5#LhQ?Yi+tv7DB5@(}k)UdZVd-Q>zcn zPj7IXeTt%JNqe}M9ZMFnc5zyq@sWn#igq!VcQi%Q!b&u(#3WUVn|fSVknQZsC+*Bg&PfjEchP{rbzqi6 zvN&ev95SEdy0AT7988X8$3}960t+g^B_zs-AMDljfqi@QOz-x@ z#B;rBkG9Rp^rvmZ7~eGTbl>A!*1MUE*p9s`J62z{Jc8?Rp81@H`xkSOdY@SynYs>m zsl?oGBlrVuS6e1;z%rh22onx-h&Hhr3UC#{pYS{U0zbp|@GV?r)X$-l=O`9j@w?)4 zg?EK>g>W3D?>&Zbs7v&r7NQ|~hmH!5_}}-h@+tg2?%f~`Jkk8=yfe+u6HTPt1LQ3F zu&jm-cayVtZyS?6ZL3$~7u$<=YB=j;Cz46`Ft}T7__C_9auB~z`D_rsvv{4gC>eie6D&ZTe|FRk23;RKc|>(f}q3#NwC_%%K_uOIP;GGU=@ z$r2W{0)uz~u46CyH}+IMhc^?^ANG3(ZtBc#{9xuj0WNz5g`04LRqSiH%xd;A#C#ma zMDWz_sn1j1Q_fSubC?njHZ4opYXR%bO(@@e$+wWgxqHxX0nRb}3FvnLBK1`C)C(ng zp+ql~=!Fu!P=XgqaC=PQ;ypcvD{zrPPr)L$ozxZ4mD!G$e|mk<+kA+G7Sg~G1gD?~ z-N7G%Zv}S-+XG()jtBPzy z)tF``{56Qt05Rr-lJ5 HT>|+F#%|By delta 440 zcmZoTz}c{XbAq&>8Uq7^DiFhf{zM&PMzxIzOZb_ExfLd}3#e~aRQSZTSwZ>{i_j$o zHvT3C{@wh~`J4FH@K5KzwOOzrk6%lenOU1Lv9u&3z96+IH?z1nGe1v3n3Y+VBPA;_ zFFij#F(o%MFFq$feexQ8RcT?MWgMJ9DQ-4qSvW@E<5iM+y_|Le0F zurcyGG4MM9Ew|vG?390qgOUFO0}!!q7HoLJzxhMGNCQyGGY0-=K!H2_+n@0>$|-DT z5n%i)znn3EQ9zU1pFxnxh=KDbX8{K*yF1$sHZ@iQmP+Og%+^dN`51Y_cn)(P<*8#b znrtYrfQ8$i@&9zzJVx#5^KuzErd#AO`b>YA&nP#&F^}>1bfYB38H~!)PbV?zGRjZ? znZ)SKs5IR+nNe^0k0eHk?aj%IO)Lsc8Pe?Hva*b=$|Z?OIjJCT6{jYaz-ZCwuM-%X z1&T`&OMs!Hq>!0clA4}cG<`t^Zq74F*9ZZ;8L}<*?|(0$ANut+6MmK%Gv~Wp{1YUxkHN}IRSUi0W>M8B4soOo!@C0@4pPS z-jI?j23$NO=i4_(17TFFzsv5%nt_x0(E3O96BAy-@7nR#`l-O6|C z>Ybdeq+fJK6ve0NZ1Ip*#%!zpj;8Bv7`sJhz1WkW5{KF*^yp-nnq9QKin3)TmS$7 delta 122 zcmaFIdXh;ypO=@50SL|+zfal?q#uJg$bcEhaRB0CkBQp00$FSe*i%^-GBPrxumm$` zvQF&KVD{7Gn4HIC!?}{72xL?d*W^k@R~ZhQ-29Z%oK!nTkYYr+yXu@jpZFAcDOof*IcozuiY-v$SLN070LjE9U19x~pN;lK}#*ss3ci(^wo z`=k6_nw0`!1nI1hNTr|trH-rUR`v7DZsS0*UH8dg#YWS?JGBs8qf4Y+Z<(w0CF%Kk zaOrCZ>IHeQah0b1#_DJ*LeO!`{D8` zv8~^!vhp&^6g$e&{6wxJcMwPNFJ;I`6G8DoA;oBzzZRbxRm$n_9`<+lULy1DXNM3 delta 479 zcmZuuOH0E*5YA>d$tF$GhamU>?J;`r0bW$ZTHAtR5sH`GYIl{E+Q6ngh(`;a1jGIT z{So?0JmpUmuRS@N7F2MS8D_qD&wkib%a1(I(SRnqlj{RL@mJAhvbnO~&=_W9tTDpz zBMu4J1~b7nIqDgJn1EP}0z&7A#q5?AILXTz>LkUbs3vf%6snbw zAo3HP*bMUG*GS+MI*8P%M}l{62j~1gYo1!w zN~>Bqt%b%=w7UbL)=J4J=0X(YJKo;=Z;>Jdxxld!>Ielykqb{KPcxu$nd~%XwTz31 k@qX4U^Um(^Q&n9irH6MB8}<1SQdQMQx|)j$q=XmoH|dpBKmY&$ diff --git a/Dhackathon/nny/admin.py b/Dhackathon/nny/admin.py index 3c3af5fd..b6f637e8 100644 --- a/Dhackathon/nny/admin.py +++ b/Dhackathon/nny/admin.py @@ -5,4 +5,11 @@ admin.site.register(User) admin.site.register(Train) -admin.site.register(Seat) \ No newline at end of file + +@admin.register(Seat) +class MyAdmin(admin.ModelAdmin): + list_display = ['id', 'train', 'seat_num', 'is_seated', 'station'] + list_display_links = ['id', 'train', 'seat_num', 'is_seated', 'station'] + + def short_content(self, seat): + return seat.content[:10] \ No newline at end of file diff --git a/Dhackathon/nny/migrations/0002_alter_seat_seat_num_alter_seat_station.py b/Dhackathon/nny/migrations/0002_alter_seat_seat_num_alter_seat_station.py new file mode 100644 index 00000000..7d38eb37 --- /dev/null +++ b/Dhackathon/nny/migrations/0002_alter_seat_seat_num_alter_seat_station.py @@ -0,0 +1,24 @@ +# Generated by Django 4.1 on 2022-08-09 12:53 + +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('nny', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='seat', + name='seat_num', + field=models.IntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(36)]), + ), + migrations.AlterField( + model_name='seat', + name='station', + field=models.IntegerField(blank=True, null=True, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(63)]), + ), + ] diff --git a/Dhackathon/nny/migrations/__pycache__/0002_alter_seat_seat_num_alter_seat_station.cpython-310.pyc b/Dhackathon/nny/migrations/__pycache__/0002_alter_seat_seat_num_alter_seat_station.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..484eb4e21f76f02007f14bffa9b957f173622a8d GIT binary patch literal 839 zcmZuvO^?$s5Vd0`P1AM-mz9tZNC+Y2QWcJ91&dhmaoAq?5JZtIw>H_dj#J`vMbB{U ze_)UN4*rF&oO_>yVuPXB z&0T;P+vuFDT=2TAOiZ9>*C*4wkd`*+f5@d0wqxo>ir1URjz_FNQC!a zHe?NzF&i-kM=g~EyU*CiC0Fh^=LxxxT1Y+3rKvn%+USX@W%bNmRKYxv?Z4Eu%(fvL zh#A*eY3a1AWOJ9jewypITrDL)TRnvMr+-3GxscllenZtQIJtq##nXrB8zU=|j`@5g zOP!@B(#-2}k-p&5Ij_%3&Bo*R>B-s7O+nRk{~%J(_W|RsY}UxS)Ap}eE7@?ds@#k0 zz&1AlLgW$poBAI1@EuHlwbnhb!pkNz4wA#R=b>wPxF1n<1NgSP{V67mevM`gao=NW W-FDgGQ9Fr8ZtNy-1$fu+A^8J@z3UVJ literal 0 HcmV?d00001 diff --git a/Dhackathon/nny/models.py b/Dhackathon/nny/models.py index f1db9c34..cab97673 100644 --- a/Dhackathon/nny/models.py +++ b/Dhackathon/nny/models.py @@ -1,5 +1,6 @@ from django.db import models from django.contrib.auth.models import AbstractUser +from django.core.validators import MinValueValidator, MaxValueValidator # Create your models here. @@ -12,6 +13,6 @@ class Train(models.Model): class Seat(models.Model): train = models.ForeignKey(Train, on_delete=models.CASCADE, related_name='seat') user = models.ForeignKey(User, on_delete=models.CASCADE) - seat_num = models.IntegerField() + seat_num = models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(36)]) is_seated = models.BooleanField(default=False) - station = models.IntegerField() \ No newline at end of file + station = models.IntegerField(null=True, blank=True, validators=[MinValueValidator(1), MaxValueValidator(63)]) \ No newline at end of file