AlexP077 3 years ago committed by Dmitry Titov
parent f9412cd448
commit 8c286aa2f0

@ -1,6 +1,5 @@
from django.contrib import admin from django.contrib import admin
from service.models import PlacementPoint, AO, Rayon
from service.models import AO from service.models import AO
from service.models import PlacementPoint from service.models import PlacementPoint
from service.models import PointDist from service.models import PointDist
@ -13,7 +12,6 @@ admin.site.register(Rivals)
admin.site.register(PointDist) admin.site.register(PointDist)
class PlacementPointAdmin(admin.ModelAdmin): class PlacementPointAdmin(admin.ModelAdmin):
pass pass

@ -0,0 +1,18 @@
# Generated by Django 3.2 on 2023-03-13 17:59
from django.db import migrations
from django.db import models
class Migration(migrations.Migration):
dependencies = [
('service', '0012_auto_20230313_1951'),
]
operations = [
migrations.AlterField(
model_name='placementpoint',
name='status',
field=models.TextField(blank=True, choices=[('Pending', 'К рассмотрению'), ('Installation', 'Согласование-Установка'), ('Working', 'Работает'), ('Cancelled', 'Отменено')], null=True, verbose_name='Статус'),
),
]

@ -0,0 +1,18 @@
# Generated by Django 3.2 on 2023-03-13 18:02
from django.db import migrations
from django.db import models
class Migration(migrations.Migration):
dependencies = [
('service', '0013_alter_placementpoint_status'),
]
operations = [
migrations.AlterField(
model_name='placementpoint',
name='postamat_id',
field=models.TextField(blank=True, null=True, unique=True, verbose_name='ID постамата'),
),
]

@ -6,14 +6,14 @@ from service.signals import *
class PlacementPoint(models.Model): class PlacementPoint(models.Model):
STATUS_CHOICES = ( STATUS_CHOICES = (
('К рассмотрению', 'К рассмотрению'), ('Pending', 'К рассмотрению'),
('Согласование-Установка', 'Согласование-Установка'), ('Installation', 'Согласование-Установка'),
('Работает', 'Работает'), ('Working', 'Работает'),
('Отменено', 'Отменено'), ('Cancelled', 'Отменено'),
) )
address = models.TextField(null=True, blank=True, verbose_name='Адрес') address = models.TextField(null=True, blank=True, verbose_name='Адрес')
name = models.TextField(null=True, blank=True, verbose_name='Название') name = models.TextField(null=True, blank=True, verbose_name='Название')
postamat_id = models.TextField(null=True, blank=True, verbose_name='ID постамата') postamat_id = models.TextField(unique=True, null=True, blank=True, verbose_name='ID постамата')
category = models.TextField(null=True, blank=True, verbose_name='Категория') category = models.TextField(null=True, blank=True, verbose_name='Категория')
status = models.TextField(choices=STATUS_CHOICES, null=True, blank=True, verbose_name='Статус') status = models.TextField(choices=STATUS_CHOICES, null=True, blank=True, verbose_name='Статус')
start_date = models.DateTimeField(null=True, blank=True) start_date = models.DateTimeField(null=True, blank=True)

@ -14,16 +14,15 @@ def load_data(filepath: str):
df = df.replace(np.nan, None) df = df.replace(np.nan, None)
df = df.replace('NaT', None) df = df.replace('NaT', None)
for row in tqdm(df.to_dict('records'), desc='Loading data...'): for row in tqdm(df.to_dict('records'), desc='Loading data...'):
data = {k: row[k] for k in row.keys() if k not in ['id', 'okrug', 'rayon', 'age_month']} data = {k: row[k] for k in row.keys() if k not in ['id', 'location_id', 'okrug', 'rayon', 'age_month']}
data['location_id'] = row['id']
data['okrug'] = models.AO.objects.get(name=row['okrug']) data['okrug'] = models.AO.objects.get(name=row['okrug'])
data['rayon'] = models.Rayon.objects.get(name=row['rayon']) data['rayon'] = models.Rayon.objects.get(name=row['rayon'])
models.PlacementPoint.objects.create(**data) models.PlacementPoint.objects.create(**data)
def load_ao_and_rayons( def load_ao_and_rayons(
ao_filepath: str, ao_filepath: str,
rayons_filepath: str, rayons_filepath: str,
): ):
models.AO.objects.all().delete() models.AO.objects.all().delete()
models.Rayon.objects.all().delete() models.Rayon.objects.all().delete()

Loading…
Cancel
Save