128 lines
7.5 KiB
Python
128 lines
7.5 KiB
Python
# Generated by Django 5.2.7 on 2026-02-18 08:13
|
||
|
||
import django.db.models.deletion
|
||
from decimal import Decimal
|
||
from django.conf import settings
|
||
from django.db import migrations, models
|
||
|
||
|
||
class Migration(migrations.Migration):
|
||
|
||
initial = True
|
||
|
||
dependencies = [
|
||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||
]
|
||
|
||
operations = [
|
||
migrations.CreateModel(
|
||
name='District',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('name', models.CharField(max_length=100)),
|
||
],
|
||
),
|
||
migrations.CreateModel(
|
||
name='Region',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('name', models.CharField(max_length=100, unique=True)),
|
||
],
|
||
),
|
||
migrations.CreateModel(
|
||
name='Device',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('address', models.CharField(max_length=100, unique=True)),
|
||
('due_date', models.DateField(blank=True, null=True)),
|
||
('amount', models.IntegerField(blank=True, null=True)),
|
||
('is_paid', models.BooleanField(default=False)),
|
||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||
('district', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='management.district')),
|
||
],
|
||
),
|
||
migrations.CreateModel(
|
||
name='Expense',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('amount', models.DecimalField(decimal_places=2, max_digits=12)),
|
||
('expense_type', models.CharField(choices=[('salary', 'Maosh'), ('utilities', 'Kommunal to‘lovlar'), ('maintenance', 'Texnik xizmat'), ('food', 'Oziq-ovqat'), ('transport', "Yo'lkira"), ('buy_toys', 'Oʻyinchoqlar sotib olish'), ('other', 'Boshqa')], default='other', max_length=20)),
|
||
('comment', models.TextField(blank=True, null=True)),
|
||
('is_confirmed', models.BooleanField(default=False)),
|
||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||
('confirmed_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='confirmed_expenses', to=settings.AUTH_USER_MODEL)),
|
||
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
|
||
('device', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='management.device')),
|
||
('employee', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='salaries', to=settings.AUTH_USER_MODEL)),
|
||
],
|
||
),
|
||
migrations.AddField(
|
||
model_name='district',
|
||
name='region',
|
||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='districts', to='management.region'),
|
||
),
|
||
migrations.CreateModel(
|
||
name='Rent',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('address', models.CharField(max_length=100, unique=True)),
|
||
('due_date', models.DateField()),
|
||
('amount', models.IntegerField()),
|
||
('is_paid', models.BooleanField(default=False)),
|
||
('paid_at', models.DateTimeField(blank=True, null=True)),
|
||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||
('created_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='created_rents', to=settings.AUTH_USER_MODEL)),
|
||
('device', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='device_rents', to='management.device')),
|
||
('district', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='district_rents', to='management.district')),
|
||
],
|
||
),
|
||
migrations.CreateModel(
|
||
name='Report',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('quantity', models.PositiveIntegerField(default=0)),
|
||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||
('created_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
|
||
('device', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='management.device')),
|
||
],
|
||
),
|
||
migrations.CreateModel(
|
||
name='Warehouse',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('name', models.CharField(max_length=100, unique=True)),
|
||
('toys_count', models.PositiveIntegerField(default=0)),
|
||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||
('region', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='warehouses', to='management.region')),
|
||
],
|
||
),
|
||
migrations.CreateModel(
|
||
name='ToyMovement',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('movement_type', models.CharField(choices=[('from_warehouse', 'Ombordan → Aparatga'), ('between_warehouses', 'Ombordan → Omborga')], max_length=30)),
|
||
('quantity', models.PositiveIntegerField()),
|
||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
|
||
('device', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='management.device')),
|
||
('from_warehouse', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='outgoing', to='management.warehouse')),
|
||
('to_warehouse', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='incoming', to='management.warehouse')),
|
||
],
|
||
),
|
||
migrations.CreateModel(
|
||
name='Income',
|
||
fields=[
|
||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
('toys_count', models.PositiveIntegerField(default=0)),
|
||
('price_per_toy', models.DecimalField(decimal_places=2, default=Decimal('0.00'), max_digits=12)),
|
||
('total_amount', models.DecimalField(decimal_places=2, default=Decimal('0.00'), editable=False, max_digits=14)),
|
||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||
('warehouse', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='warehouse_incomes', to='management.warehouse')),
|
||
],
|
||
),
|
||
migrations.AlterUniqueTogether(
|
||
name='district',
|
||
unique_together={('region', 'name')},
|
||
),
|
||
]
|