From e2c5274c5385fa769efca903428ddaa5822ff68f Mon Sep 17 00:00:00 2001 From: TBS093A Date: Fri, 24 Jul 2020 12:14:26 +0200 Subject: [PATCH] create GuestCommentRating Model --- .../migrations/0002_auto_20200724_1012.py | 35 ++++++++++++++++++ .../0002_auto_20200724_1012.cpython-36.pyc | Bin 0 -> 1279 bytes .../rating/__pycache__/models.cpython-36.pyc | Bin 2294 -> 2673 bytes .../__pycache__/serializers.cpython-36.pyc | Bin 3682 -> 3710 bytes .../rating/__pycache__/views.cpython-36.pyc | Bin 3734 -> 3742 bytes portfolio/rating/models.py | 13 ++++++- portfolio/rating/serializers.py | 10 ++--- portfolio/rating/views.py | 8 ++-- 8 files changed, 56 insertions(+), 10 deletions(-) create mode 100644 portfolio/migrations/0002_auto_20200724_1012.py create mode 100644 portfolio/migrations/__pycache__/0002_auto_20200724_1012.cpython-36.pyc diff --git a/portfolio/migrations/0002_auto_20200724_1012.py b/portfolio/migrations/0002_auto_20200724_1012.py new file mode 100644 index 0000000..96d376d --- /dev/null +++ b/portfolio/migrations/0002_auto_20200724_1012.py @@ -0,0 +1,35 @@ +# Generated by Django 3.0.8 on 2020-07-24 10:12 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('portfolio', '0001_initial'), + ] + + operations = [ + migrations.RenameModel( + old_name='CommentRating', + new_name='GuestCommentRating', + ), + migrations.AlterField( + model_name='guestcommentrating', + name='comment', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='portfolio.GuestComment'), + ), + migrations.CreateModel( + name='UserCommentRating', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('value', models.PositiveSmallIntegerField(choices=[(1, 'POSITIVE'), (0, 'NEGATIVE')], verbose_name='Type of rating (1 - POSITIVE, 0 - NEGATIVE)')), + ('comment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='portfolio.UserComment')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='portfolio.Account')), + ], + options={ + 'abstract': False, + }, + ), + ] diff --git a/portfolio/migrations/__pycache__/0002_auto_20200724_1012.cpython-36.pyc b/portfolio/migrations/__pycache__/0002_auto_20200724_1012.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e7acac037dd3392b2a6c4e5023d93ca1d08721b0 GIT binary patch literal 1279 zcmZ8h&2HO95GI!tMg2K;kUF;8Ch92>(n_=vAP7(dQ61YbinvDX=D-UOlhJmbck!PkDs))LGK9oKWEC+nJr&nQvzKxYuj{`+3K^-_W#wv>T5}_yxVi zkOXL;Ct9kzddgg;t2Iju*F4m~0P}AROw{AX2g7XuJJkk_FXW>Qm~5v}DEu>9(15f_BH6yZw+q2`ocVCutB<8a3A_1gH5=*V5Ivt&X$Tp`t5Jx@6`IxgzsT3 z(&2}N5gP6~{75zaBwMeR#mQFAMS0GXh|8|yIJ;hyMP=kCZf}pLDQ4wsA|VUq?ZX)s zs@onV+JxGkjkm_jagu2DP`Mki45$%lYQ@al@MdDO8JR9=iLK^;)6 z*U`=DjK+C{3CN8<3lv{vB3T4y2a+AV9GJ4}&r0qE0{s#}c5)G=zPR+>;iYVmBh?no zQFbp-OnHHI{Kkc!%%245StWr{@tqZ8|h1PMk&oVR>nyX@L5($+n*Mt@Pl$-h&7d# zRTW>zCeN#>JRUGXldlPj1mP`(w`;5t7dr}XNZYGQ^gP-2Jfd`#AmOg({WbFwMXOo? z=9mFyK}7j7a+ICdsEn^v4`h3ilqe1q`@&Gx_5l|dh1u^!ss*v1g@P-{ZHsp81(6JF4yUEpczC&^J(Vt93gZ1Wti?%qdDj8rj7{8x_N z@)Sqqv~Zq1_D3gz#~75w=$gG1`ppmCjr=@MqM*9OE6WYEy5b`m{jpaK&e$0{&eQP| zZ`au!5A#c*J||6ji+dz&!!k{s=@wIx>09cb-O=ypTl$Vs?HyRMRZ}vAX+>tu+4i+^ kSWR{@T#_XoP~^&YRcwtMGD!Q^x^2%D^@U1jUAK+@0ULyTlmGw# literal 0 HcmV?d00001 diff --git a/portfolio/rating/__pycache__/models.cpython-36.pyc b/portfolio/rating/__pycache__/models.cpython-36.pyc index eccc71d28cf74f1a89fd322ba0de02df3a6270ad..78f9c7d48959223d96d4ffc9cc49d5b67e7d78c1 100644 GIT binary patch delta 317 zcmew+_)&z{n3tEUe6v)%DLVthCBUo&EL+%w+)Go7OMrr&ljpGVOB5+FFfeGc z6e$3yB1I4(4I-2#%d*Q!r~{eB96*ABiG>jat0W=17qA!#03E|nBnu)`L4?ZWdS(e$ zH6T-EayVP?GgwSdyrDC)E(?_!r>6rX&Z{T3U@lp-ylMdFiBa_}q20J%JjAjrYQ!zchWm4}&$ Pk&Rh^Lx5X=M}QjuEq*`e delta 194 zcmew;@=cJ}n3tE!&WkyofsKLT@#F){qKq3RDrYc@q=-)Jb74zi31-j~+xS9)nS<9k zKQ}iuuVnH$HmAvcEUAnllXtLenS6q+m{EQ5L=HJdjmgpM*{o^|3=FE1%h-Y^%W)Jj zYJp@XN3jb}KEx3ztO=Ae0ODd6Ai=>Xz*M9;S&vhOQEaj|=PgFf$^FdYy0z!axn2Q3IO%+Ff%c-F$-`A@Ca}N09EZP82|tP diff --git a/portfolio/rating/__pycache__/serializers.cpython-36.pyc b/portfolio/rating/__pycache__/serializers.cpython-36.pyc index e6c60280a980e0b43f63b1fc19ebf6e5fc9786ec..d38effe8e2bf6dfa3385fa427388b5b03775d60f 100644 GIT binary patch delta 114 zcmaDP^G}A$n3tF9(q^f6LC%d_pIKR@LyJ?3CO=>opDfC@mDL)`lbFoIt;8w_=CQH6 jvZ^DAb5G7^FJM)Iip+(xBqm$4*s?0XRBnF5QN{`YFeoJ! delta 94 zcmew-^GJrvn3tE!*_%23C&xyv&#a8%lRt2XPmbeqnH7aNlbptro_lQS%}@0 kQ5nkTp1gtEX!1sOJ4QLM2oFaql(mk-mQiN&2aY~g0EF5d?f?J) diff --git a/portfolio/rating/__pycache__/views.cpython-36.pyc b/portfolio/rating/__pycache__/views.cpython-36.pyc index 3f5367e99babd1b10ab5c0455b3e012cefcffbfb..1f41ff8f2aaea5db49e55ffbef5c19a5070c89c6 100644 GIT binary patch delta 39 tcmbOxJ5QF=n3tF9#b&Aa;EkLWjI4s8#i>P;n;7j_r9rIC2N|#O008Q!42J*! delta 31 ncmbOyJ583;n3tDpkq2|U^G41JMn>MrZH#t|;+s!0UgZG*eya#= diff --git a/portfolio/rating/models.py b/portfolio/rating/models.py index 22ba31a..5d132c6 100755 --- a/portfolio/rating/models.py +++ b/portfolio/rating/models.py @@ -22,7 +22,7 @@ class AbstractRating(OneToManyModel): abstract = True -class CommentRating(AbstractRating): +class UserCommentRating(AbstractRating): comment = models.ForeignKey(UserComment, on_delete=models.CASCADE) def toDict(self): @@ -33,6 +33,17 @@ class CommentRating(AbstractRating): "comment_id": self.comment_id } +class GuestCommentRating(AbstractRating): + comment = models.ForeignKey(GuestComment, on_delete=models.CASCADE) + + def toDict(self): + return { + "id": self.id, + "user_id": self.user_id, + "value": self.value, + "comment_id": self.comment_id + } + class AlbumRating(AbstractRating): album = models.ForeignKey(Album, on_delete=models.CASCADE) diff --git a/portfolio/rating/serializers.py b/portfolio/rating/serializers.py index e832fb3..cc0c328 100644 --- a/portfolio/rating/serializers.py +++ b/portfolio/rating/serializers.py @@ -26,26 +26,26 @@ class TrackRatingSerializer(serializers.ModelSerializer): fields = ['id', 'user_id', 'value'] -class CommentRatingSerializer(serializers.ModelSerializer): +class UserCommentRatingSerializer(serializers.ModelSerializer): id = serializers.IntegerField(read_only = True) user_id = serializers.IntegerField() @staticmethod def get_default(comment_id): - queryset = CommentRating.objects.filter(comment_id=comment_id) + queryset = UserCommentRating.objects.filter(comment_id=comment_id) return [ x.toDict() for x in queryset ] @staticmethod def create(validated_data, comment_id): validated_data["comment_id"] = comment_id - return CommentRating.create(CommentRating, validated_data) + return UserCommentRating.create(UserCommentRating, validated_data) @staticmethod def delete(comment_id, user_id): - return CommentRating.objects.get(comment_id=comment_id, user_id=user_id).delete() + return UserCommentRating.objects.get(comment_id=comment_id, user_id=user_id).delete() class Meta: - model = CommentRating + model = UserCommentRating fields = ['id', 'user_id', 'value'] diff --git a/portfolio/rating/views.py b/portfolio/rating/views.py index 587d391..5cca452 100755 --- a/portfolio/rating/views.py +++ b/portfolio/rating/views.py @@ -7,8 +7,8 @@ from drf_yasg.utils import swagger_auto_schema from django.shortcuts import get_object_or_404 -from .models import TrackRating, AlbumRating, CommentRating -from .serializers import TrackRatingSerializer, AlbumRatingSerializer, CommentRatingSerializer +from .models import TrackRating, AlbumRating, UserCommentRating +from .serializers import TrackRatingSerializer, AlbumRatingSerializer, UserCommentRatingSerializer class TrackRatingViewSet( mixins.ListModelMixin, @@ -72,8 +72,8 @@ class CommentRatingViewSet( mixins.DestroyModelMixin, viewsets.GenericViewSet ): - queryset = CommentRating.objects.all() - serializer_class = CommentRatingSerializer + queryset = UserCommentRating.objects.all() + serializer_class = UserCommentRatingSerializer lookup_url_kwarg = 'user_id' def list(self, request, *args, **kwargs):