2024-06-07 20:17:03 +03:00
|
|
|
''' Models: Version. '''
|
|
|
|
from django.db.models import (
|
|
|
|
CASCADE,
|
|
|
|
CharField,
|
|
|
|
DateTimeField,
|
|
|
|
ForeignKey,
|
|
|
|
JSONField,
|
|
|
|
Model,
|
|
|
|
TextField
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
class Version(Model):
|
|
|
|
''' Library item version archive. '''
|
2024-09-12 20:56:38 +03:00
|
|
|
item = ForeignKey(
|
2024-06-07 20:17:03 +03:00
|
|
|
verbose_name='Схема',
|
2024-07-25 19:12:31 +03:00
|
|
|
to='library.LibraryItem',
|
2024-06-07 20:17:03 +03:00
|
|
|
on_delete=CASCADE
|
|
|
|
)
|
|
|
|
version = CharField(
|
|
|
|
verbose_name='Версия',
|
|
|
|
max_length=20,
|
|
|
|
blank=False
|
|
|
|
)
|
2024-09-12 20:56:38 +03:00
|
|
|
description = TextField(
|
2024-06-07 20:17:03 +03:00
|
|
|
verbose_name='Описание',
|
|
|
|
blank=True
|
|
|
|
)
|
2024-09-12 20:56:38 +03:00
|
|
|
data = JSONField(
|
2024-06-07 20:17:03 +03:00
|
|
|
verbose_name='Содержание'
|
|
|
|
)
|
2024-09-12 20:56:38 +03:00
|
|
|
time_create = DateTimeField(
|
2024-06-07 20:17:03 +03:00
|
|
|
verbose_name='Дата создания',
|
|
|
|
auto_now_add=True
|
|
|
|
)
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
''' Model metadata. '''
|
|
|
|
verbose_name = 'Версия'
|
|
|
|
verbose_name_plural = 'Версии'
|
|
|
|
unique_together = [['item', 'version']]
|
|
|
|
|
|
|
|
def __str__(self) -> str:
|
|
|
|
return f'{self.item} v{self.version}'
|