refactor location transfer 1

This commit is contained in:
alex 2020-02-03 16:57:00 +03:00
parent 084db83c92
commit 2a9ef2c704
4 changed files with 55 additions and 37 deletions

View File

@ -779,9 +779,9 @@ def set_unused_regions():
data_types = { data_types = {
"dictionaries": [ "dictionaries": [
# transfer_countries, # transfer_countries, # !!! см setup_clean_db
# transfer_regions, # transfer_regions, # !!! см setup_clean_db
# transfer_cities, # transfer_cities, # !!! см setup_clean_db
transfer_addresses, transfer_addresses,
transfer_wine_region, transfer_wine_region,
transfer_wine_sub_region, transfer_wine_sub_region,

View File

@ -1,9 +1,5 @@
from pprint import pprint from pprint import pprint
from django.db.models import Q
from account.models import User
from account.transfer_data import STOP_LIST
from establishment.models import Establishment from establishment.models import Establishment
from product.models import Product from product.models import Product
from review.models import Inquiries as NewInquiries, Review from review.models import Inquiries as NewInquiries, Review
@ -77,10 +73,7 @@ def make_en_text_review():
def transfer_inquiries(): def transfer_inquiries():
reviews = Review.objects.all().values_list('old_id', flat=True) reviews = Review.objects.all().values_list('old_id', flat=True)
inquiries = Inquiries.objects.exclude( inquiries = Inquiries.objects.exclude(account__confirmed_at__isnull=True).filter(review_id__in=list(reviews))
Q(account__confirmed_at__isnull=True) |
Q(account__email__in=STOP_LIST)
).filter(review_id__in=list(reviews))
serialized_data = InquiriesSerializer(data=list(inquiries.values()), many=True) serialized_data = InquiriesSerializer(data=list(inquiries.values()), many=True)
if serialized_data.is_valid(): if serialized_data.is_valid():

View File

@ -224,13 +224,11 @@ class AddressSerializer(serializers.ModelSerializer):
return data return data
def set_city(self, data): def set_city(self, data):
try:
city = models.City.objects.filter(mysql_id=data['city_id']).first() city = models.City.objects.filter(mysql_id=data['city_id']).first()
except models.City.DoesNotExist as e: if not city:
raise ValueError(f"City not found with {data}: {e}") raise ValueError(f"City not found with ID {data['city_id']}")
data['city'] = city data['city_id'] = city.id
del(data['city_id'])
return data return data
def set_address(self, data): def set_address(self, data):
@ -280,7 +278,6 @@ class AddressSerializer(serializers.ModelSerializer):
class WineRegionSerializer(TransferSerializerMixin): class WineRegionSerializer(TransferSerializerMixin):
id = serializers.IntegerField() id = serializers.IntegerField()
name = serializers.CharField() name = serializers.CharField()
desc = serializers.CharField(allow_null=True) desc = serializers.CharField(allow_null=True)
@ -307,9 +304,7 @@ class WineRegionSerializer(TransferSerializerMixin):
return attrs return attrs
class WineSubRegionSerializer(WineRegionSerializer): class WineSubRegionSerializer(WineRegionSerializer):
id = serializers.IntegerField() id = serializers.IntegerField()
name = serializers.CharField() name = serializers.CharField()
parent_id = serializers.IntegerField() parent_id = serializers.IntegerField()
@ -336,7 +331,6 @@ class WineSubRegionSerializer(WineRegionSerializer):
class WineVillageSerializer(TransferSerializerMixin): class WineVillageSerializer(TransferSerializerMixin):
id = serializers.IntegerField() id = serializers.IntegerField()
name = serializers.CharField() name = serializers.CharField()
parent_id = serializers.IntegerField() parent_id = serializers.IntegerField()
@ -432,7 +426,6 @@ class CityMapCorrectSerializer(CityMapSerializer):
class CepageWineRegionSerializer(TransferSerializerMixin): class CepageWineRegionSerializer(TransferSerializerMixin):
CATEGORY_LABEL = 'Cepage' CATEGORY_LABEL = 'Cepage'
CATEGORY_INDEX_NAME = slugify(CATEGORY_LABEL) CATEGORY_INDEX_NAME = slugify(CATEGORY_LABEL)

View File

@ -41,9 +41,41 @@
# requester -> requester # requester -> requester
#./manage.py add_ownership #./manage.py add_ownership
# Заполнение моделей Country, Region, City из ruby_data
# для City перенос из старой бд, заполнение флагов и фото
# --------------------------
./manage.py transfer --setup_clean_db ./manage.py transfer --setup_clean_db
# Заполнение модели Address из Locations
# --------------------------
# id
# city_id
# zip_code
# latitude
# longitude
# address
# Заполнение модели WineRegion из WineLocations
# --------------------------
# id
# name
# desc
# latitude
# longitude
# Заполнение модели WineSubRegion из WineVillage
# --------------------------
# id
# name
# parent_id
# Заполнение модели WineSubRegion из WineLocations
# --------------------------
# id
# name
# parent_id
./manage.py transfer -d ./manage.py transfer -d
./manage.py transfer -e ./manage.py transfer -e
./manage.py transfer -n ./manage.py transfer -n
./manage.py rm_empty_images # команда для удаления картинок с относительным урлом из news.description ./manage.py rm_empty_images # команда для удаления картинок с относительным урлом из news.description