|
|
|
|
@ -24,24 +24,28 @@ class Migration(DataMigration): |
|
|
|
|
r_cities = set(City.objects.filter(country_id=russia).values_list('pk', flat=True)) |
|
|
|
|
# with transaction.commit_manually(): |
|
|
|
|
for contact in Contact.objects.prefetch_related('contactsettings').all(): |
|
|
|
|
cities = set(contact.contactsettings.city.values_list('pk', flat=True)) |
|
|
|
|
countries = set(contact.contactsettings.country.values_list('pk', flat=True)) |
|
|
|
|
themes = set(contact.contactsettings.theme.values_list('pk', flat=True)) |
|
|
|
|
try: |
|
|
|
|
cities = set(contact.contactsettings.city.values_list('pk', flat=True)) |
|
|
|
|
countries = set(contact.contactsettings.country.values_list('pk', flat=True)) |
|
|
|
|
themes = set(contact.contactsettings.theme.values_list('pk', flat=True)) |
|
|
|
|
|
|
|
|
|
# moscow |
|
|
|
|
contact.moscow = True if moscow in cities else False |
|
|
|
|
cities.discard(moscow) |
|
|
|
|
# cities russia |
|
|
|
|
_r_cities = cities.intersection(r_cities) |
|
|
|
|
contact.r_cities = _r_cities |
|
|
|
|
# russia |
|
|
|
|
contact.russia = True if russia in countries else False |
|
|
|
|
countries.discard(russia) |
|
|
|
|
# countries |
|
|
|
|
contact.f_countries = countries |
|
|
|
|
# themes |
|
|
|
|
contact.themes = themes |
|
|
|
|
contact.save() |
|
|
|
|
# moscow |
|
|
|
|
contact.moscow = True if moscow in cities else False |
|
|
|
|
cities.discard(moscow) |
|
|
|
|
# cities russia |
|
|
|
|
_r_cities = cities.intersection(r_cities) |
|
|
|
|
contact.r_cities = _r_cities |
|
|
|
|
# russia |
|
|
|
|
contact.russia = True if russia in countries else False |
|
|
|
|
countries.discard(russia) |
|
|
|
|
# countries |
|
|
|
|
contact.f_countries = countries |
|
|
|
|
# themes |
|
|
|
|
contact.themes = themes |
|
|
|
|
contact.save() |
|
|
|
|
except Exception as e: |
|
|
|
|
print('Exception') |
|
|
|
|
print(e) |
|
|
|
|
# transaction.commit() |
|
|
|
|
|
|
|
|
|
def backwards(self, orm): |
|
|
|
|
|