Advertisement
xm4dn355x

First Data Migration

Dec 21st, 2020
1,405
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.44 KB | None | 0 0
  1. # Generated by Django 3.1.3 on 2020-12-19 11:33
  2.  
  3. from django.db import migrations
  4.  
  5.  
  6. def add_social_networks(apps, schema_editor):
  7.     """Добавляет строки с социальными сетями в базу данных"""
  8.     SocialNetwork = apps.get_model('internet_map', 'SocialNetwork')
  9.     vk = SocialNetwork.objects.get_or_create(
  10.         title='ВКонтакте',
  11.         description='Российская социальная сеть ВКонтакте. Дочерняя компания Mail.ru',
  12.         default_url='https://vk.com/'
  13.     )
  14.     vk.save()
  15.     ok = SocialNetwork.objects.get_or_create(
  16.         title='Одноклассники',
  17.         description='Российская социальная сеть Одноклассники. Дочерняя компания Mail.ru',
  18.         default_url='https://ok.ru/'
  19.     )
  20.     ok.save()
  21.     ig = SocialNetwork.objects.get_or_create(
  22.         title='Instagram',
  23.         description='Социальная сеть instagram. Дочерняя компания Facebook',
  24.         default_url='https://instagram.com/'
  25.     )
  26.     ig.save()
  27.     fb = SocialNetwork.objects.get_or_create(
  28.         title='Facebook',
  29.         description='Крупнейшая в мире социальная сеть Facebook',
  30.         default_url='https://fb.com/'
  31.     )
  32.     fb.save()
  33.     tg = SocialNetwork.objects.get_or_create(
  34.         title='Telegram',
  35.         description='Мессенджер Telegram',
  36.         default_url='https://t.me/'
  37.     )
  38.     tg.save()
  39.     site = SocialNetwork.objects.get_or_create(
  40.         title='СМИ',
  41.         description='Сайты СМИ',
  42.         default_url=''
  43.     )
  44.     site.save()
  45.  
  46.  
  47. def add_categories(apps, schema_editor):
  48.     """Добавляет строки с типами аккаунтов в базу данных"""
  49.     Category = apps.get_model('internet_map', 'Category')
  50.     public_page = Category.objects.get_or_create(
  51.         title='Паблик',
  52.         description='Публичная страница в социальной сети'
  53.     )
  54.     public_page.save()
  55.     group = Category.objects.get_or_create(
  56.         title='Группа',
  57.         description='Группа в социальной сети'
  58.     )
  59.     group.save()
  60.     mass_media = Category.objects.get_or_create(
  61.         title='СМИ',
  62.         description='Средства массовой информации'
  63.     )
  64.     mass_media.save()
  65.     opinion_leader = Category.objects.get_or_create(
  66.         title='ЛОМ',
  67.         description='Лидер общественного мнения'
  68.     )
  69.     opinion_leader.save()
  70.  
  71.  
  72. def add_loyalties(apps, schema_editor):
  73.     """Добавляет строки с лояльностями в базу данных"""
  74.     Loyalty = apps.get_model('internet_map', 'Loyalty')
  75.     green = Loyalty.objects.get_or_create(
  76.         title='Лояльный',
  77.         description='Готовый к сотрудничеству, а так же сотрудничающий'
  78.     )
  79.     green.save()
  80.     yellow = Loyalty.objects.get_or_create(
  81.         title='Умеренно-опозиционный',
  82.         description='Аналогично лояльному, но иногда присутствует опозиционный контент'
  83.     )
  84.     yellow.save()
  85.     red = Loyalty.objects.get_or_create(
  86.         title='Опозиционный',
  87.         description='Ярые опозиционеры (например коммунисты)'
  88.     )
  89.     red.save()
  90.  
  91.  
  92. def add_themes(apps, schema_editor):
  93.     """Добавляет строки с темами аккаунтов в базу данных"""
  94.     Theme = apps.get_model('internet_map', 'Theme')
  95.     discussion = Theme.objects.get_or_create(
  96.         title='Обсуждения',
  97.         description='Основные темы - это обсуждение событий, новостей, лиц'
  98.     )
  99.     discussion.save()
  100.     news = Theme.objects.get_or_create(
  101.         title='Новости',
  102.         description='Публикация новостей и событий'
  103.     )
  104.     news.save()
  105.     claim = Theme.objects.get_or_create(
  106.         title='Жалобы',
  107.         description='Контент состоящий из освещения и обсуждения негативных и чрезвычайных ситуаций '
  108.                     '(например ДТП, проблематика переселения из ветхого жилья)'
  109.     )
  110.     claim.save()
  111.     opinion_leader = Theme.objects.get_or_create(
  112.         title='Лидеры мнений',
  113.         description='ЛОМы - лидеры общественного мнения, блогеры, публичные личности имеющие политическое влияние'
  114.     )
  115.     opinion_leader.save()
  116.     micro_blogger = Theme.objects.get_or_create(
  117.         title='Микроблогеры',
  118.         description='Пользователи имеющие большое количество подписчиков и потенциальное влияние в своем окружении'
  119.     )
  120.     micro_blogger.save()
  121.  
  122.  
  123. class Migration(migrations.Migration):
  124.  
  125.     dependencies = [
  126.         ('internet_map', '0001_initial'),
  127.     ]
  128.  
  129.     operations = [
  130.         migrations.RunPython(add_social_networks),
  131.         migrations.RunPython(add_categories),
  132.         migrations.RunPython(add_loyalties),
  133.         migrations.RunPython(add_themes),
  134.     ]
  135.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement