56 lines
1.9 KiB
Python
56 lines
1.9 KiB
Python
from django.db import models
|
||
|
||
class IssueCategory(models.Model):
|
||
"""Категории проблем"""
|
||
name = models.CharField(max_length=255, unique=True)
|
||
|
||
def __str__(self):
|
||
return self.name
|
||
|
||
class Zone(models.Model):
|
||
"""Зоны, где возникают проблемы"""
|
||
name = models.CharField(max_length=255, unique=True)
|
||
|
||
def __str__(self):
|
||
return self.name
|
||
|
||
class Issue(models.Model):
|
||
"""Конкретные проблемы"""
|
||
category = models.ForeignKey(IssueCategory, on_delete=models.CASCADE, related_name="issues")
|
||
zone = models.ForeignKey(Zone, on_delete=models.CASCADE, related_name="issues")
|
||
description = models.TextField()
|
||
created_at = models.DateTimeField(auto_now_add=True)
|
||
updated_at = models.DateTimeField(auto_now=True)
|
||
|
||
def __str__(self):
|
||
return f"{self.category.name} - {self.zone.name}: {self.description[:50]}"
|
||
|
||
|
||
"""GET /api/categories/ – список категорий
|
||
POST /api/categories/ – создать категорию
|
||
GET /api/zones/ – список зон
|
||
POST /api/zones/ – создать зону
|
||
GET /api/issues/ – список проблем
|
||
POST /api/issues/ – добавить проблему
|
||
DELETE /api/issues/<id>/ – удалить проблему"""
|
||
|
||
|
||
|
||
"""Модели справочника номенклатура и сообщения"""
|
||
class Nomenclature(models.Model):
|
||
name = models.CharField(max_length=255)
|
||
short_name = models.CharField(max_length=100)
|
||
gtin = models.CharField(max_length=14, unique=True)
|
||
groupe_water = models.CharField(max_length=255)
|
||
groupe_names = models.CharField(max_length=255)
|
||
|
||
def __str__(self):
|
||
return self.name
|
||
|
||
|
||
class Message(models.Model):
|
||
identifier = models.CharField(max_length=100, unique=True)
|
||
text = models.TextField()
|
||
|
||
def __str__(self):
|
||
return f"{self.identifier}: {self.text[:30]}" |