add is_publish
This commit is contained in:
parent
59371fae9a
commit
b41ec3eebd
18
apps/establishment/management/commands/add_publish_data.py
Normal file
18
apps/establishment/management/commands/add_publish_data.py
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
from django.core.management.base import BaseCommand
|
||||||
|
|
||||||
|
from establishment.models import Establishment
|
||||||
|
from transfer.models import Establishments
|
||||||
|
|
||||||
|
|
||||||
|
class Command(BaseCommand):
|
||||||
|
help = 'Add publish values from old db to new db'
|
||||||
|
|
||||||
|
def handle(self, *args, **kwargs):
|
||||||
|
old_establishments = Establishments.objects.all()
|
||||||
|
count = 0
|
||||||
|
for item in old_establishments:
|
||||||
|
obj = Establishment.objects.filter(old_id=item.id).first()
|
||||||
|
if obj:
|
||||||
|
count += 1
|
||||||
|
obj.is_publish = item.state == 'published'
|
||||||
|
self.stdout.write(self.style.WARNING(f'Updated {count} objects.'))
|
||||||
|
|
@ -30,6 +30,7 @@ def transfer_establishment():
|
||||||
'type': item.type,
|
'type': item.type,
|
||||||
'phone': item.phone,
|
'phone': item.phone,
|
||||||
'created': item.created_at,
|
'created': item.created_at,
|
||||||
|
'state': item.state,
|
||||||
'description': {},
|
'description': {},
|
||||||
'website': None,
|
'website': None,
|
||||||
'facebook': None,
|
'facebook': None,
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ class EstablishmentSerializer(serializers.ModelSerializer):
|
||||||
facebook = serializers.CharField(allow_null=True, allow_blank=True)
|
facebook = serializers.CharField(allow_null=True, allow_blank=True)
|
||||||
twitter = serializers.CharField(allow_null=True, allow_blank=True)
|
twitter = serializers.CharField(allow_null=True, allow_blank=True)
|
||||||
booking = serializers.CharField(allow_null=True, allow_blank=True)
|
booking = serializers.CharField(allow_null=True, allow_blank=True)
|
||||||
|
state = serializers.CharField(allow_null=True)
|
||||||
tz = serializers.CharField()
|
tz = serializers.CharField()
|
||||||
created = serializers.DateTimeField(format='%m-%d-%Y %H:%M:%S')
|
created = serializers.DateTimeField(format='%m-%d-%Y %H:%M:%S')
|
||||||
|
|
||||||
|
|
@ -47,6 +48,7 @@ class EstablishmentSerializer(serializers.ModelSerializer):
|
||||||
'location', # + получить новые объекты Address по old_id
|
'location', # + получить новые объекты Address по old_id
|
||||||
'email', # + создать объект для ContactEmail
|
'email', # + создать объект для ContactEmail
|
||||||
'phone', # + создать объект для ContactPhone
|
'phone', # + создать объект для ContactPhone
|
||||||
|
'state', # + создать объект для ContactPhone
|
||||||
)
|
)
|
||||||
|
|
||||||
def validate(self, data):
|
def validate(self, data):
|
||||||
|
|
@ -54,9 +56,11 @@ class EstablishmentSerializer(serializers.ModelSerializer):
|
||||||
'slug': generate_unique_slug(Establishment, data['slug'] if data['slug'] else data['name']),
|
'slug': generate_unique_slug(Establishment, data['slug'] if data['slug'] else data['name']),
|
||||||
'address_id': self.get_address(data['location']),
|
'address_id': self.get_address(data['location']),
|
||||||
'establishment_type_id': self.get_type(data),
|
'establishment_type_id': self.get_type(data),
|
||||||
|
'is_publish': data.get('state') == 'published',
|
||||||
})
|
})
|
||||||
data.pop('location')
|
data.pop('location')
|
||||||
data.pop('type')
|
data.pop('type')
|
||||||
|
data.pop('state')
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user