Add back for review

This commit is contained in:
Виктор Гладких 2019-10-17 15:26:26 +03:00
parent c80b53a0fc
commit 5a058c14f4
6 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,20 @@
# Generated by Django 2.2.4 on 2019-10-17 12:17
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('location', '0012_data_migrate'),
('review', '0003_review_text'),
]
operations = [
migrations.AddField(
model_name='review',
name='country',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='country', to='location.Country', verbose_name='Country'),
),
]

View File

@ -65,6 +65,9 @@ class Review(BaseAttributes, TranslatedFieldsMixin):
validators=[MinValueValidator(1900),
MaxValueValidator(2100)])
country = models.ForeignKey('location.Country', on_delete=models.CASCADE,
related_name='country', verbose_name=_('Country'),
null=True)
objects = ReviewQuerySet.as_manager()
class Meta:

View File

@ -0,0 +1,18 @@
"""Review app common serializers."""
from review import models
from rest_framework import serializers
class ReviewBaseSerializer(serializers.ModelSerializer):
class Meta:
model = models.Review
fields = ('id',
'reviewer',
'text',
'language',
'status',
'child',
'published_at',
'vintage',
'country'
)

11
apps/review/urls/back.py Normal file
View File

@ -0,0 +1,11 @@
"""Back review URLs"""
from django.urls import path
from review.views import back as views
app_name = 'review'
urlpatterns = [
path('', views.ReviewLstView.as_view(), name='review-list-create'),
path('<int:id>/', views.ReviewRUDView.as_view(), name='review-crud'),
]

19
apps/review/views/back.py Normal file
View File

@ -0,0 +1,19 @@
from rest_framework import generics, permissions
from review.serializers import back as serializers
from review import models
from utils.permissions import IsReviewerManager
class ReviewLstView(generics.ListCreateAPIView):
"""Comment list create view."""
serializer_class = serializers.ReviewBaseSerializer
queryset = models.Review.objects.all()
permission_classes = [permissions.IsAuthenticatedOrReadOnly,]
class ReviewRUDView(generics.RetrieveUpdateDestroyAPIView):
"""Comment RUD view."""
serializer_class = serializers.ReviewBaseSerializer
queryset = models.Review.objects.all()
permission_classes = [IsReviewerManager]
lookup_field = 'id'

View File

@ -10,4 +10,5 @@ urlpatterns = [
path('news/', include('news.urls.back')),
path('account/', include('account.urls.back')),
path('comment/', include('comment.urls.back')),
path('review/', include('review.urls.back')),
]