131cb27d16
Django project: employees, locations, visit_manager, it_manager, mattermost_connector and stub connectors (ad, mail, portal).
42 lines
3.3 KiB
Python
42 lines
3.3 KiB
Python
# Generated by Django 6.0.3 on 2026-04-24 10:56
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('it_manager', '0004_servicecall_worklog'),
|
|
('locations', '0002_remove_pharmacy_locations_p_last_sy_0dc5a0_idx_and_more'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Consumable',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('consumable_type', models.CharField(choices=[('cartridge', 'Картридж'), ('toner', 'Тонер'), ('drum', 'Фотобарабан'), ('ink', 'Чернила'), ('other', 'Другое')], db_index=True, default='cartridge', max_length=20, verbose_name='Тип')),
|
|
('brand', models.CharField(blank=True, max_length=100, verbose_name='Производитель')),
|
|
('model_number', models.CharField(max_length=100, verbose_name='Модель / артикул')),
|
|
('color', models.CharField(choices=[('black', 'Чёрный'), ('cyan', 'Голубой (C)'), ('magenta', 'Пурпурный (M)'), ('yellow', 'Жёлтый (Y)'), ('color', 'Цветной (триколор)'), ('na', 'Не применимо')], default='black', max_length=10, verbose_name='Цвет')),
|
|
('status', models.CharField(choices=[('in_stock', 'На складе'), ('installed', 'Установлен'), ('empty', 'Закончился / на замену'), ('ordered', 'Заказан'), ('disposed', 'Утилизирован')], db_index=True, default='in_stock', max_length=20, verbose_name='Статус')),
|
|
('page_yield', models.PositiveIntegerField(blank=True, null=True, verbose_name='Ресурс (страниц)')),
|
|
('purchase_date', models.DateField(blank=True, null=True, verbose_name='Дата покупки')),
|
|
('installed_date', models.DateField(blank=True, null=True, verbose_name='Дата установки')),
|
|
('replaced_date', models.DateField(blank=True, null=True, verbose_name='Дата замены')),
|
|
('notes', models.TextField(blank=True, verbose_name='Примечания')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('equipment', models.ForeignKey(blank=True, limit_choices_to={'equipment_type': 'printer'}, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='consumables', to='it_manager.equipment', verbose_name='Устройство')),
|
|
('location', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='consumables', to='locations.location', verbose_name='Локация хранения')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Расходник',
|
|
'verbose_name_plural': 'Расходники',
|
|
'ordering': ['equipment', 'consumable_type', 'color'],
|
|
'indexes': [models.Index(fields=['status'], name='it_manager__status_53998f_idx'), models.Index(fields=['equipment', 'status'], name='it_manager__equipme_8f7405_idx')],
|
|
},
|
|
),
|
|
]
|