diff --git a/account/__pycache__/__init__.cpython-310.pyc b/account/__pycache__/__init__.cpython-310.pyc index 8336f47..095cd51 100644 Binary files a/account/__pycache__/__init__.cpython-310.pyc and b/account/__pycache__/__init__.cpython-310.pyc differ diff --git a/account/__pycache__/admin.cpython-310.pyc b/account/__pycache__/admin.cpython-310.pyc index 2b051ba..e8468d3 100644 Binary files a/account/__pycache__/admin.cpython-310.pyc and b/account/__pycache__/admin.cpython-310.pyc differ diff --git a/account/__pycache__/apps.cpython-310.pyc b/account/__pycache__/apps.cpython-310.pyc index 7ed4377..e656d48 100644 Binary files a/account/__pycache__/apps.cpython-310.pyc and b/account/__pycache__/apps.cpython-310.pyc differ diff --git a/account/__pycache__/models.cpython-310.pyc b/account/__pycache__/models.cpython-310.pyc index 31b4b89..8b56081 100644 Binary files a/account/__pycache__/models.cpython-310.pyc and b/account/__pycache__/models.cpython-310.pyc differ diff --git a/account/__pycache__/serializer.cpython-310.pyc b/account/__pycache__/serializer.cpython-310.pyc index 8970cd6..e95f3d8 100644 Binary files a/account/__pycache__/serializer.cpython-310.pyc and b/account/__pycache__/serializer.cpython-310.pyc differ diff --git a/account/__pycache__/urls.cpython-310.pyc b/account/__pycache__/urls.cpython-310.pyc index 89ee9a2..6d06a71 100644 Binary files a/account/__pycache__/urls.cpython-310.pyc and b/account/__pycache__/urls.cpython-310.pyc differ diff --git a/account/__pycache__/views.cpython-310.pyc b/account/__pycache__/views.cpython-310.pyc index 2cf909c..c5e28a0 100644 Binary files a/account/__pycache__/views.cpython-310.pyc and b/account/__pycache__/views.cpython-310.pyc differ diff --git a/account/migrations/0004_user_point.py b/account/migrations/0004_user_point.py new file mode 100644 index 0000000..53f6157 --- /dev/null +++ b/account/migrations/0004_user_point.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1 on 2022-08-18 08:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('account', '0003_user_is_admin'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='point', + field=models.IntegerField(null=True), + ), + ] diff --git a/account/migrations/__pycache__/0001_initial.cpython-310.pyc b/account/migrations/__pycache__/0001_initial.cpython-310.pyc index ccd472d..a7a878c 100644 Binary files a/account/migrations/__pycache__/0001_initial.cpython-310.pyc and b/account/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/account/migrations/__pycache__/0002_alter_user_managers_alter_user_email_alter_user_univ_and_more.cpython-310.pyc b/account/migrations/__pycache__/0002_alter_user_managers_alter_user_email_alter_user_univ_and_more.cpython-310.pyc index 7adaf4f..b18adfc 100644 Binary files a/account/migrations/__pycache__/0002_alter_user_managers_alter_user_email_alter_user_univ_and_more.cpython-310.pyc and b/account/migrations/__pycache__/0002_alter_user_managers_alter_user_email_alter_user_univ_and_more.cpython-310.pyc differ diff --git a/account/migrations/__pycache__/0003_user_is_admin.cpython-310.pyc b/account/migrations/__pycache__/0003_user_is_admin.cpython-310.pyc new file mode 100644 index 0000000..aa7f53b Binary files /dev/null and b/account/migrations/__pycache__/0003_user_is_admin.cpython-310.pyc differ diff --git a/account/migrations/__pycache__/0004_user_point.cpython-310.pyc b/account/migrations/__pycache__/0004_user_point.cpython-310.pyc new file mode 100644 index 0000000..34ccfa1 Binary files /dev/null and b/account/migrations/__pycache__/0004_user_point.cpython-310.pyc differ diff --git a/account/migrations/__pycache__/__init__.cpython-310.pyc b/account/migrations/__pycache__/__init__.cpython-310.pyc index 3574406..db0e092 100644 Binary files a/account/migrations/__pycache__/__init__.cpython-310.pyc and b/account/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/account/models.py b/account/models.py index 29e859f..de7742b 100644 --- a/account/models.py +++ b/account/models.py @@ -40,9 +40,20 @@ class User(AbstractBaseUser,PermissionsMixin): profile_image = models.ImageField(blank=True) username = models.CharField(max_length=30,null=True) univ = models.CharField(max_length=30,null=True) + + point = models.IntegerField(null=True) + + + + + + + + is_qr_scanned = models.BooleanField(default=False) + is_admin = models.BooleanField(default=False) objects = UserManager() diff --git a/account/serializer.py b/account/serializer.py index 4a36d4c..272a579 100644 --- a/account/serializer.py +++ b/account/serializer.py @@ -1,6 +1,6 @@ from rest_framework import serializers from django.contrib.auth import get_user_model - +import random User = get_user_model() @@ -8,7 +8,7 @@ class RegisterSerializer(serializers.ModelSerializer): class Meta: model = User # fields = '__all__' - fields = ('id','profile_image','username','email', 'password', 'univ') + fields = ('id','profile_image','username','email', 'password', 'univ',) def create(self, validated_data): email = validated_data.get('email') @@ -16,11 +16,13 @@ def create(self, validated_data): username = validated_data.get('username') profile_image = validated_data.get('profile_image') univ = validated_data.get('univ') + point = random.randint(1,100) user = User( email=email, username = username, profile_image = profile_image, - univ = univ + univ = univ, + point = point ) user.set_password(password) user.save() diff --git a/db.sqlite3 b/db.sqlite3 index e3f8534..d21e2ea 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/friend/__pycache__/__init__.cpython-310.pyc b/friend/__pycache__/__init__.cpython-310.pyc index fab76a9..87038ff 100644 Binary files a/friend/__pycache__/__init__.cpython-310.pyc and b/friend/__pycache__/__init__.cpython-310.pyc differ diff --git a/friend/__pycache__/admin.cpython-310.pyc b/friend/__pycache__/admin.cpython-310.pyc index 49baa4d..051d6ff 100644 Binary files a/friend/__pycache__/admin.cpython-310.pyc and b/friend/__pycache__/admin.cpython-310.pyc differ diff --git a/friend/__pycache__/apps.cpython-310.pyc b/friend/__pycache__/apps.cpython-310.pyc index 9330ebf..bf71b92 100644 Binary files a/friend/__pycache__/apps.cpython-310.pyc and b/friend/__pycache__/apps.cpython-310.pyc differ diff --git a/friend/__pycache__/models.cpython-310.pyc b/friend/__pycache__/models.cpython-310.pyc index 0da1548..4eee59f 100644 Binary files a/friend/__pycache__/models.cpython-310.pyc and b/friend/__pycache__/models.cpython-310.pyc differ diff --git a/friend/__pycache__/serializer.cpython-310.pyc b/friend/__pycache__/serializer.cpython-310.pyc new file mode 100644 index 0000000..4c9f85c Binary files /dev/null and b/friend/__pycache__/serializer.cpython-310.pyc differ diff --git a/friend/__pycache__/urls.cpython-310.pyc b/friend/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000..9ad2d2a Binary files /dev/null and b/friend/__pycache__/urls.cpython-310.pyc differ diff --git a/friend/__pycache__/views.cpython-310.pyc b/friend/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000..ce4ecee Binary files /dev/null and b/friend/__pycache__/views.cpython-310.pyc differ diff --git a/friend/admin.py b/friend/admin.py index 8c38f3f..c8f425b 100644 --- a/friend/admin.py +++ b/friend/admin.py @@ -1,3 +1,4 @@ from django.contrib import admin +from .models import UserPoint -# Register your models here. +admin.site.register(UserPoint) diff --git a/friend/migrations/0001_initial.py b/friend/migrations/0001_initial.py new file mode 100644 index 0000000..e31f443 --- /dev/null +++ b/friend/migrations/0001_initial.py @@ -0,0 +1,26 @@ +# Generated by Django 4.1 on 2022-08-17 19:34 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='UserPoint', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('point', models.IntegerField()), + ('friend_id', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='friend', to=settings.AUTH_USER_MODEL)), + ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='owner', to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/friend/migrations/0002_alter_userpoint_point.py b/friend/migrations/0002_alter_userpoint_point.py new file mode 100644 index 0000000..b5a29d6 --- /dev/null +++ b/friend/migrations/0002_alter_userpoint_point.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1 on 2022-08-17 19:44 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('friend', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='userpoint', + name='point', + field=models.IntegerField(null=True), + ), + ] diff --git a/friend/migrations/0003_friends.py b/friend/migrations/0003_friends.py new file mode 100644 index 0000000..bc82209 --- /dev/null +++ b/friend/migrations/0003_friends.py @@ -0,0 +1,25 @@ +# Generated by Django 4.1 on 2022-08-18 08:22 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('friend', '0002_alter_userpoint_point'), + ] + + operations = [ + migrations.CreateModel( + name='Friends', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('friendId', models.EmailField(max_length=254)), + ('count', models.IntegerField()), + ('myId', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/friend/migrations/__pycache__/0001_initial.cpython-310.pyc b/friend/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000..f324a92 Binary files /dev/null and b/friend/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/friend/migrations/__pycache__/0002_alter_userpoint_point.cpython-310.pyc b/friend/migrations/__pycache__/0002_alter_userpoint_point.cpython-310.pyc new file mode 100644 index 0000000..a2efb45 Binary files /dev/null and b/friend/migrations/__pycache__/0002_alter_userpoint_point.cpython-310.pyc differ diff --git a/friend/migrations/__pycache__/0003_friends.cpython-310.pyc b/friend/migrations/__pycache__/0003_friends.cpython-310.pyc new file mode 100644 index 0000000..3c22577 Binary files /dev/null and b/friend/migrations/__pycache__/0003_friends.cpython-310.pyc differ diff --git a/friend/migrations/__pycache__/__init__.cpython-310.pyc b/friend/migrations/__pycache__/__init__.cpython-310.pyc index 2c29c40..86b9f04 100644 Binary files a/friend/migrations/__pycache__/__init__.cpython-310.pyc and b/friend/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/friend/models.py b/friend/models.py index 71a8362..bf738c4 100644 --- a/friend/models.py +++ b/friend/models.py @@ -1,3 +1,16 @@ from django.db import models +from account.models import User + # Create your models here. +class Friends(models.Model): + myId = models.ForeignKey(User, on_delete=models.CASCADE) + friendId = models.EmailField() + count = models.IntegerField() + + +class UserPoint(models.Model): + owner = models.ForeignKey(User,null=True,on_delete=models.CASCADE,related_name='owner') + friend_id = models.ForeignKey(User,null=True,on_delete=models.CASCADE,related_name='friend') + point = models.IntegerField(null=True) + diff --git a/friend/serializer.py b/friend/serializer.py new file mode 100644 index 0000000..3eff7eb --- /dev/null +++ b/friend/serializer.py @@ -0,0 +1,18 @@ +from rest_framework import serializers +from mypage.models import Plan + +#친구의 약속목록을 모두 가져옵니다. +class friendsPlanSerializer(serializers.ModelSerializer): + is_mine = serializers.SerializerMethodField() + + class Meta: + model = Plan + fields = ('id','isDone','title','promise_time','is_mine') + + def get_is_mine(self, obj): + if obj.user == self.context['request'].user: + return True + else: + return False + + diff --git a/friend/urls.py b/friend/urls.py new file mode 100644 index 0000000..ff2e31d --- /dev/null +++ b/friend/urls.py @@ -0,0 +1,10 @@ +from django.urls import path +from friend import views +from django.views.decorators.csrf import csrf_exempt + +urlpatterns = [ + path('create/',views.join), + path('rank',views.RankList.as_view()), + path('plan//',views.listPlans.as_view()), + +] \ No newline at end of file diff --git a/friend/views.py b/friend/views.py index 91ea44a..a793306 100644 --- a/friend/views.py +++ b/friend/views.py @@ -1,3 +1,50 @@ -from django.shortcuts import render +from django.shortcuts import get_object_or_404, render +from rest_framework.decorators import api_view +from account.serializer import UserSerializer +# from friend.models import UserPoint +from account.models import User +from mypage.models import Plan +from rest_framework.response import Response -# Create your views here. + +from .serializer import friendsPlanSerializer +from rest_framework import generics + +#- 친구의 약속목록을 모두 가져옵니다 +# - parameter { +# friend-id :Int 친구의 아이디, +# present_time: 오늘 날짜 +# } + +class listPlans(generics.ListCreateAPIView): + lookup_field = 'id' + def get(self, request): + # friendId = request.GET.get('friend-id', None) + # presentTime = request.GET.get('present_time', None) + friendId = request.data['friend_id'] + presentTime = request.data['present_time'] + #GET 요청의 파라미터로 friend-id와 present_time 받음 + #해당 friend-id를 가진 사용자의 약속 중 present_time 후에 있는 약속 목록을 가져옴 + queryset = Plan.objects.filter(user_id=friendId, promise_time__gte=int(presentTime)) + serializer_class = friendsPlanSerializer(queryset, many=True) + + return Response(serializer_class.data, status=201) + + +@api_view(['POST']) +def join(request,plan_id): # 내가 plan에 동참 누르면 plan의 주인의 point가 1 증가 + + plan = get_object_or_404(Plan,pk=plan_id) + user = get_object_or_404(User,pk=plan.user.id) + user.point+=1 + user.save() + + return Response(status=200) + +class RankList(generics.ListCreateAPIView): + queryset = User.objects.all().order_by('-point') + serializer_class = UserSerializer + lookup_field = 'id' + + + \ No newline at end of file diff --git a/musterd/__pycache__/__init__.cpython-310.pyc b/musterd/__pycache__/__init__.cpython-310.pyc index ce7b87c..48940a3 100644 Binary files a/musterd/__pycache__/__init__.cpython-310.pyc and b/musterd/__pycache__/__init__.cpython-310.pyc differ diff --git a/musterd/__pycache__/settings.cpython-310.pyc b/musterd/__pycache__/settings.cpython-310.pyc index e816e8e..d687315 100644 Binary files a/musterd/__pycache__/settings.cpython-310.pyc and b/musterd/__pycache__/settings.cpython-310.pyc differ diff --git a/musterd/__pycache__/urls.cpython-310.pyc b/musterd/__pycache__/urls.cpython-310.pyc index 55550ca..32afc94 100644 Binary files a/musterd/__pycache__/urls.cpython-310.pyc and b/musterd/__pycache__/urls.cpython-310.pyc differ diff --git a/musterd/__pycache__/wsgi.cpython-310.pyc b/musterd/__pycache__/wsgi.cpython-310.pyc index 165dce6..5d4fa16 100644 Binary files a/musterd/__pycache__/wsgi.cpython-310.pyc and b/musterd/__pycache__/wsgi.cpython-310.pyc differ diff --git a/musterd/urls.py b/musterd/urls.py index c4f91f9..c1b946e 100644 --- a/musterd/urls.py +++ b/musterd/urls.py @@ -5,7 +5,7 @@ path('admin/', admin.site.urls), path('account/', include('account.urls')), path('mypage/', include('mypage.urls')), - # path('friend/', include('friend.urls')), + path('friend/', include('friend.urls')), path('search/', include('search.urls')), path('travel-stamp', TravelStampAPIView.as_view()) ] \ No newline at end of file diff --git a/mypage/__pycache__/__init__.cpython-310.pyc b/mypage/__pycache__/__init__.cpython-310.pyc index f0abf0c..7faa641 100644 Binary files a/mypage/__pycache__/__init__.cpython-310.pyc and b/mypage/__pycache__/__init__.cpython-310.pyc differ diff --git a/mypage/__pycache__/admin.cpython-310.pyc b/mypage/__pycache__/admin.cpython-310.pyc index 76bec8d..0ea9c36 100644 Binary files a/mypage/__pycache__/admin.cpython-310.pyc and b/mypage/__pycache__/admin.cpython-310.pyc differ diff --git a/mypage/__pycache__/apps.cpython-310.pyc b/mypage/__pycache__/apps.cpython-310.pyc index c210c14..e0fa393 100644 Binary files a/mypage/__pycache__/apps.cpython-310.pyc and b/mypage/__pycache__/apps.cpython-310.pyc differ diff --git a/mypage/__pycache__/models.cpython-310.pyc b/mypage/__pycache__/models.cpython-310.pyc index 0efa605..e3381aa 100644 Binary files a/mypage/__pycache__/models.cpython-310.pyc and b/mypage/__pycache__/models.cpython-310.pyc differ diff --git a/mypage/__pycache__/serializers.cpython-310.pyc b/mypage/__pycache__/serializers.cpython-310.pyc index 64e884c..fdc1b1e 100644 Binary files a/mypage/__pycache__/serializers.cpython-310.pyc and b/mypage/__pycache__/serializers.cpython-310.pyc differ diff --git a/mypage/__pycache__/urls.cpython-310.pyc b/mypage/__pycache__/urls.cpython-310.pyc index 0299888..c4d5c1c 100644 Binary files a/mypage/__pycache__/urls.cpython-310.pyc and b/mypage/__pycache__/urls.cpython-310.pyc differ diff --git a/mypage/__pycache__/views.cpython-310.pyc b/mypage/__pycache__/views.cpython-310.pyc index 52b4e48..a9d4954 100644 Binary files a/mypage/__pycache__/views.cpython-310.pyc and b/mypage/__pycache__/views.cpython-310.pyc differ diff --git a/mypage/migrations/0004_plan_joiner.py b/mypage/migrations/0004_plan_joiner.py new file mode 100644 index 0000000..7f0c717 --- /dev/null +++ b/mypage/migrations/0004_plan_joiner.py @@ -0,0 +1,21 @@ +# Generated by Django 4.1 on 2022-08-17 19:34 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('mypage', '0003_rename_email_plan_user_plan_count_alter_plan_name'), + ] + + operations = [ + migrations.AddField( + model_name='plan', + name='joiner', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='join', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/mypage/migrations/0005_remove_plan_joiner_plan_joiner.py b/mypage/migrations/0005_remove_plan_joiner_plan_joiner.py new file mode 100644 index 0000000..47dca79 --- /dev/null +++ b/mypage/migrations/0005_remove_plan_joiner_plan_joiner.py @@ -0,0 +1,24 @@ +# Generated by Django 4.1 on 2022-08-17 19:44 + +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('mypage', '0004_plan_joiner'), + ] + + operations = [ + migrations.RemoveField( + model_name='plan', + name='joiner', + ), + migrations.AddField( + model_name='plan', + name='joiner', + field=models.ManyToManyField(null=True, related_name='join', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/mypage/migrations/0006_alter_plan_joiner.py b/mypage/migrations/0006_alter_plan_joiner.py new file mode 100644 index 0000000..0e46c85 --- /dev/null +++ b/mypage/migrations/0006_alter_plan_joiner.py @@ -0,0 +1,20 @@ +# Generated by Django 4.1 on 2022-08-18 08:22 + +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('mypage', '0005_remove_plan_joiner_plan_joiner'), + ] + + operations = [ + migrations.AlterField( + model_name='plan', + name='joiner', + field=models.ManyToManyField(related_name='join', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/mypage/migrations/__pycache__/0001_initial.cpython-310.pyc b/mypage/migrations/__pycache__/0001_initial.cpython-310.pyc index 7bbe116..5971e5b 100644 Binary files a/mypage/migrations/__pycache__/0001_initial.cpython-310.pyc and b/mypage/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/mypage/migrations/__pycache__/0002_plan_email.cpython-310.pyc b/mypage/migrations/__pycache__/0002_plan_email.cpython-310.pyc index 33f0fb8..34a8966 100644 Binary files a/mypage/migrations/__pycache__/0002_plan_email.cpython-310.pyc and b/mypage/migrations/__pycache__/0002_plan_email.cpython-310.pyc differ diff --git a/mypage/migrations/__pycache__/0003_rename_email_plan_user_plan_count_alter_plan_name.cpython-310.pyc b/mypage/migrations/__pycache__/0003_rename_email_plan_user_plan_count_alter_plan_name.cpython-310.pyc index aa7112e..c2b94d2 100644 Binary files a/mypage/migrations/__pycache__/0003_rename_email_plan_user_plan_count_alter_plan_name.cpython-310.pyc and b/mypage/migrations/__pycache__/0003_rename_email_plan_user_plan_count_alter_plan_name.cpython-310.pyc differ diff --git a/mypage/migrations/__pycache__/0004_plan_joiner.cpython-310.pyc b/mypage/migrations/__pycache__/0004_plan_joiner.cpython-310.pyc new file mode 100644 index 0000000..a3baf9b Binary files /dev/null and b/mypage/migrations/__pycache__/0004_plan_joiner.cpython-310.pyc differ diff --git a/mypage/migrations/__pycache__/0005_remove_plan_joiner_plan_joiner.cpython-310.pyc b/mypage/migrations/__pycache__/0005_remove_plan_joiner_plan_joiner.cpython-310.pyc new file mode 100644 index 0000000..222fa97 Binary files /dev/null and b/mypage/migrations/__pycache__/0005_remove_plan_joiner_plan_joiner.cpython-310.pyc differ diff --git a/mypage/migrations/__pycache__/0006_alter_plan_joiner.cpython-310.pyc b/mypage/migrations/__pycache__/0006_alter_plan_joiner.cpython-310.pyc new file mode 100644 index 0000000..2b8690a Binary files /dev/null and b/mypage/migrations/__pycache__/0006_alter_plan_joiner.cpython-310.pyc differ diff --git a/mypage/migrations/__pycache__/__init__.cpython-310.pyc b/mypage/migrations/__pycache__/__init__.cpython-310.pyc index 304ec70..17abf78 100644 Binary files a/mypage/migrations/__pycache__/__init__.cpython-310.pyc and b/mypage/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/mypage/models.py b/mypage/models.py index 7b1581b..4dc3753 100644 --- a/mypage/models.py +++ b/mypage/models.py @@ -14,6 +14,7 @@ class Plan(models.Model): name=models.CharField(max_length=30) category=models.CharField(max_length=30) count=models.IntegerField(default=1) + joiner = models.ManyToManyField(User,related_name='join') def __str__(self): return self.user.email \ No newline at end of file diff --git a/mypage/serializers.py b/mypage/serializers.py index e5aeccf..4c25f53 100644 --- a/mypage/serializers.py +++ b/mypage/serializers.py @@ -4,7 +4,7 @@ class planSerializers(serializers.ModelSerializer): class Meta: model = Plan - fields = ('title', 'category','place_name','place_id','promise_time','max_count','user') + fields = ('title', 'category','place_name','place_id','promise_time','max_count','user','joiner') extra_kwargs = { 'isDone': {'write_only': True}, } diff --git a/mypage/views.py b/mypage/views.py index 65743cc..ae15c4a 100644 --- a/mypage/views.py +++ b/mypage/views.py @@ -9,6 +9,8 @@ from rest_framework.exceptions import ValidationError from http import HTTPStatus from rest_framework import generics +from rest_framework.decorators import api_view +from friend.models import UserPoint # # GET /mypage/promise_place/:plan_id # PATCH /mypage/finish/:plan_id @@ -76,4 +78,23 @@ def patch(self,request,plan_id): class PlanList(generics.ListCreateAPIView): queryset = Plan.objects.all() #객체를 반환하는데 사용 serializer_class = planSerializers - lookup_field = 'id' \ No newline at end of file + lookup_field = 'id' + + +# @api_view(['POST']) # plan 작성 완료버튼 누르면 reward 내용까지 저장 프론트에서 reward받아와야함 plan_id도 +# def save_with_reward(request,plan_id): +# plan = Plan.objects.get(pk=plan_id) +# # plan.reward = request.data['reward'] +# # plan.save() + +# for i in (plan.joiner-1): #일단 3개 만들고 +# joiner_UserPoint = UserPoint() #UserPoint 객체 생성 +# nowuser = get_object_or_404(User,pk=plan.joiner[i]) +# joiner_UserPoint.owner = nowuser # UserPoint 객체의 owner필드에 요청한'사람'을 저장 +# joiner_UserPoint.point = 0 +# joiner_UserPoint.save() + +# for j in plan.joiner: +# friend = get_object_or_404(User,pk=plan.joiner[j]) +# nowuser.friend_id = friend + diff --git a/search/__pycache__/__init__.cpython-310.pyc b/search/__pycache__/__init__.cpython-310.pyc index 94467ed..42017ca 100644 Binary files a/search/__pycache__/__init__.cpython-310.pyc and b/search/__pycache__/__init__.cpython-310.pyc differ diff --git a/search/__pycache__/admin.cpython-310.pyc b/search/__pycache__/admin.cpython-310.pyc index 33fa038..021868e 100644 Binary files a/search/__pycache__/admin.cpython-310.pyc and b/search/__pycache__/admin.cpython-310.pyc differ diff --git a/search/__pycache__/apps.cpython-310.pyc b/search/__pycache__/apps.cpython-310.pyc index 96dc606..419e501 100644 Binary files a/search/__pycache__/apps.cpython-310.pyc and b/search/__pycache__/apps.cpython-310.pyc differ diff --git a/search/__pycache__/models.cpython-310.pyc b/search/__pycache__/models.cpython-310.pyc index cc72c80..87196b9 100644 Binary files a/search/__pycache__/models.cpython-310.pyc and b/search/__pycache__/models.cpython-310.pyc differ diff --git a/search/__pycache__/serializers.cpython-310.pyc b/search/__pycache__/serializers.cpython-310.pyc new file mode 100644 index 0000000..067ee91 Binary files /dev/null and b/search/__pycache__/serializers.cpython-310.pyc differ diff --git a/search/__pycache__/urls.cpython-310.pyc b/search/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000..0e7b9b3 Binary files /dev/null and b/search/__pycache__/urls.cpython-310.pyc differ diff --git a/search/__pycache__/views.cpython-310.pyc b/search/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000..c238c4f Binary files /dev/null and b/search/__pycache__/views.cpython-310.pyc differ diff --git a/search/migrations/__pycache__/__init__.cpython-310.pyc b/search/migrations/__pycache__/__init__.cpython-310.pyc index 1d63ffa..01c3598 100644 Binary files a/search/migrations/__pycache__/__init__.cpython-310.pyc and b/search/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/search/views.py b/search/views.py index f483ef7..2d05f0a 100644 --- a/search/views.py +++ b/search/views.py @@ -10,7 +10,7 @@ class search_friend(APIView): def get(self, request): - queryset = User.objects.all() + queryset = User.objects.filter(username__contains = request.data['name']) # 언더바 2개임 serializer_class = friendSerializers(queryset, many=True) serialized_data=serializer_class.data return Response(serialized_data)