ConceptPortal-public/rsconcept/backend/apps/oss/models/Argument.py
Ivan 0211e2f58a
Some checks failed
Backend CI / build (3.12) (push) Has been cancelled
R: Improve backend type hints, linting and package locks
2024-09-12 21:10:37 +03:00

32 lines
900 B
Python

''' Models: Operation Argument in OSS. '''
from django.db.models import CASCADE, ForeignKey, Model, PositiveIntegerField
class Argument(Model):
''' Operation Argument.'''
operation = ForeignKey(
verbose_name='Операция',
to='oss.Operation',
on_delete=CASCADE,
related_name='arguments'
)
argument = ForeignKey(
verbose_name='Аргумент',
to='oss.Operation',
on_delete=CASCADE,
related_name='descendants'
)
order = PositiveIntegerField(
verbose_name='Позиция',
default=0,
)
class Meta:
''' Model metadata. '''
verbose_name = 'Аргумент'
verbose_name_plural = 'Аргументы операций'
unique_together = [['operation', 'argument']]
def __str__(self) -> str:
return f'{self.argument} -> {self.operation}'