refactor inquiries
This commit is contained in:
parent
2512400885
commit
b0177dfe13
|
|
@ -28,7 +28,7 @@ def transfer_establishment():
|
|||
data = {
|
||||
'old_id': item.id,
|
||||
'name': item.name,
|
||||
'name_translated': item.index_name,
|
||||
'transliterated_name': item.index_name,
|
||||
'slug': item.slug,
|
||||
'type': item.type,
|
||||
'phone': item.phone,
|
||||
|
|
|
|||
|
|
@ -7,3 +7,5 @@ from utils.admin import BaseModelAdminMixin
|
|||
@admin.register(models.Review)
|
||||
class ReviewAdminModel(BaseModelAdminMixin, admin.ModelAdmin):
|
||||
"""Admin model for model Review."""
|
||||
|
||||
raw_id_fields = ('reviewer', 'language', 'child', 'country')
|
||||
|
|
|
|||
18
apps/review/migrations/0010_inquiries_published.py
Normal file
18
apps/review/migrations/0010_inquiries_published.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 2.2.7 on 2019-11-11 11:42
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('review', '0009_auto_20191110_0615'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='inquiries',
|
||||
name='published',
|
||||
field=models.BooleanField(default=False, verbose_name='is published'),
|
||||
),
|
||||
]
|
||||
|
|
@ -24,6 +24,7 @@ def transfer_languages():
|
|||
|
||||
|
||||
def transfer_reviews():
|
||||
# TODO: убрать LIKE UPPER("%%paris%%"), accounts.email IN
|
||||
queryset = Reviews.objects.raw("""SELECT reviews.id, reviews.vintage, reviews.establishment_id,
|
||||
reviews.reviewer_id, review_texts.text AS text, reviews.mark, reviews.published_at,
|
||||
review_texts.created_at AS published, review_texts.locale AS locale,
|
||||
|
|
@ -55,9 +56,8 @@ def transfer_reviews():
|
|||
ON (establishments.location_id = locations.id)
|
||||
INNER JOIN cities
|
||||
ON (locations.city_id = cities.id)
|
||||
WHERE UPPER(cities.name) LIKE UPPER("%%paris%%")
|
||||
AND NOT establishments.type = "Wineyard"
|
||||
AND establishments.type IS NOT NULL AND locations.timezone IS NOT NULL
|
||||
WHERE establishments.type IS NOT NULL AND locations.timezone IS NOT NULL
|
||||
AND NOT establishments.type = "Wineyard"
|
||||
)
|
||||
ORDER BY review_texts.created_at DESC
|
||||
""")
|
||||
|
|
@ -101,15 +101,19 @@ def transfer_inquiries():
|
|||
# отфильтровать по review, account, establishment
|
||||
# TODO: нужно ли переносить данные у которых нет привязки к аккаунту? .filter(account__isnull=False)
|
||||
inquiries = Inquiries.objects.exclude(
|
||||
Q(review__reviewer_id__gt=0) |
|
||||
Q(review__reviewer_id__isnull=True) |
|
||||
Q(review__mark__isnull=True) |
|
||||
Q(review__reviewtexts__text__isnull=True) |
|
||||
Q(review__reviewtexts__locale__isnull=True) |
|
||||
Q(review__establishment__type='Wineyard') |
|
||||
Q(review__establishment__location__timezone__isnull=True) |
|
||||
Q(account__confirmed_at__isnull=True) |
|
||||
Q(account__email__in=STOP_LIST)
|
||||
Q(review__reviewer_id__lte=0) | # +
|
||||
Q(review__reviewer_id__isnull=True) | # +
|
||||
Q(review__mark__isnull=True) | # +
|
||||
Q(review__reviewtexts__text__isnull=True) | # +
|
||||
Q(review__reviewtexts__locale__isnull=True) | # +
|
||||
Q(review__establishment__type__isnull=True) | # +
|
||||
Q(review__establishment__type='Wineyard') | # +
|
||||
Q(review__establishment__location__timezone__isnull=True) | # +
|
||||
Q(review__establishment__location__isnull=True) | # +
|
||||
Q(account__confirmed_at__isnull=True) | # +
|
||||
Q(account__email__in=STOP_LIST) | # +
|
||||
Q(review_id__in=(
|
||||
47558, 43703, 89320, 92150, 90162, 113639, 92084, 96145, 92492, 92489, 92497, 116790, 116930, 114799))
|
||||
)
|
||||
|
||||
serialized_data = InquiriesSerializer(data=list(inquiries.values()), many=True)
|
||||
|
|
|
|||
|
|
@ -9,19 +9,19 @@ class Command(BaseCommand):
|
|||
ВНИМАНИЕ: первые буквы типов данных должны быть уникальны!
|
||||
"""
|
||||
SHORT_DATA_TYPES = [
|
||||
'dictionaries',
|
||||
'news',
|
||||
'account',
|
||||
'dictionaries', # №2 - перенос стран, регионов, городов, адресов
|
||||
'news', # перенос новостей (после №2)
|
||||
'account', # №1 - перенос пользователей
|
||||
'subscriber',
|
||||
'recipe',
|
||||
'partner',
|
||||
'establishment',
|
||||
'establishment', # №3 - перенос заведений
|
||||
'gallery',
|
||||
'commercial',
|
||||
'overlook',
|
||||
'commercial', # перенос рекламмы (очередность не важна)
|
||||
'overlook', # №5 - перенос языков, отзывов
|
||||
'tmp',
|
||||
'menu',
|
||||
'location_establishment',
|
||||
'location_establishment', # №4 - добавление адресов для перенесенных заведений
|
||||
'whirligig',
|
||||
'identities',
|
||||
]
|
||||
|
|
@ -29,7 +29,7 @@ class Command(BaseCommand):
|
|||
LONG_DATA_TYPES = [
|
||||
'update_country_flag',
|
||||
'comment',
|
||||
'inquiries',
|
||||
'inquiries', # №6 - перенос запросов оценок
|
||||
]
|
||||
|
||||
def handle(self, *args, **options):
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ class EstablishmentSerializer(serializers.ModelSerializer):
|
|||
'created',
|
||||
'old_id', # +
|
||||
'name', # +
|
||||
'name_translated', # +
|
||||
'transliterated_name', # +
|
||||
'tz', # +
|
||||
'website', # +
|
||||
'facebook', # +
|
||||
|
|
|
|||
|
|
@ -49,15 +49,13 @@ class InquiriesSerializer(serializers.Serializer):
|
|||
try:
|
||||
return Inquiries.objects.create(**validated_data)
|
||||
except Exception as e:
|
||||
pass
|
||||
# raise ValueError(f"Error creating Inquiries with {validated_data}: {e}")
|
||||
raise ValueError(f"Error creating Inquiries with {validated_data}: {e}")
|
||||
|
||||
@staticmethod
|
||||
def get_review(data):
|
||||
review = Review.objects.filter(old_id=data['review_id']).first()
|
||||
if not review:
|
||||
pass
|
||||
# raise ValueError(f"Review not found with old_id {data['review_id']}")
|
||||
raise ValueError(f"Review not found with old_id {data['review_id']}")
|
||||
return review
|
||||
|
||||
@staticmethod
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ class ReviewSerializer(serializers.ModelSerializer):
|
|||
published = serializers.DateTimeField()
|
||||
published_at = serializers.DateTimeField(allow_null=True)
|
||||
establishment_id = serializers.IntegerField()
|
||||
text = serializers.CharField()
|
||||
text = serializers.CharField(allow_null=True, allow_blank=True)
|
||||
locale = serializers.CharField()
|
||||
aasm_state = serializers.CharField(allow_null=True)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user