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,
|
||||
'phone': item.phone,
|
||||
'created': item.created_at,
|
||||
'state': item.state,
|
||||
'description': {},
|
||||
'website': None,
|
||||
'facebook': None,
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ class EstablishmentSerializer(serializers.ModelSerializer):
|
|||
facebook = 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)
|
||||
state = serializers.CharField(allow_null=True)
|
||||
tz = serializers.CharField()
|
||||
created = serializers.DateTimeField(format='%m-%d-%Y %H:%M:%S')
|
||||
|
||||
|
|
@ -47,6 +48,7 @@ class EstablishmentSerializer(serializers.ModelSerializer):
|
|||
'location', # + получить новые объекты Address по old_id
|
||||
'email', # + создать объект для ContactEmail
|
||||
'phone', # + создать объект для ContactPhone
|
||||
'state', # + создать объект для ContactPhone
|
||||
)
|
||||
|
||||
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']),
|
||||
'address_id': self.get_address(data['location']),
|
||||
'establishment_type_id': self.get_type(data),
|
||||
'is_publish': data.get('state') == 'published',
|
||||
})
|
||||
data.pop('location')
|
||||
data.pop('type')
|
||||
data.pop('state')
|
||||
return data
|
||||
|
||||
@transaction.atomic
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user