add territory

This commit is contained in:
Kseninia Mikhaylova 2024-07-19 15:30:33 +03:00
parent 857244f3fc
commit c0c6b4a285
4 changed files with 37 additions and 1 deletions

View File

@ -43,3 +43,4 @@ class TgItem(models.Model):
def __str__(self):
return f"Tg item {self.name}"

View File

@ -1,5 +1,8 @@
from django.contrib import admin
from .models import CustomTable, BaseCustomField
from .models import BaseCustomField, CustomTable, Territory, TerritoryItem
admin.site.register(CustomTable)
admin.site.register(BaseCustomField)
admin.site.register(Territory)
admin.site.register(TerritoryItem)

View File

@ -0,0 +1,19 @@
from django.core.management.base import BaseCommand
import csv
from tmc.models import Territory, TerritoryItem
class Command(BaseCommand):
help = "Creating model objects according the file path specified"
def handle(self, *args, **options):
file_path = "tmc/management/commands/data.csv"
with open(file_path, mode="r") as file:
csvFile = csv.reader(file)
for lines in csvFile:
if not Territory.objects.filter(name=lines[0]).exists():
parent = Territory.objects.create(name=lines[0])
else:
parent = Territory.objects.get(name=lines[0])
if not TerritoryItem.objects.filter(name=lines[1]).exists():
TerritoryItem.objects.create(name=lines[1], parent=parent)

View File

@ -15,3 +15,16 @@ class CustomTable(models.Model):
def __str__(self):
return self.name
class Territory(models.Model):
name = models.CharField()
def __str__(self):
return self.name
class TerritoryItem(models.Model):
name = models.CharField()
parent = models.ForeignKey(Territory, models.RESTRICT)
def __str__(self):
return self.name