2024-07-25 19:12:31 +03:00
|
|
|
''' Models: Synthesis Substitution. '''
|
2024-07-17 12:56:01 +03:00
|
|
|
from django.db.models import CASCADE, BooleanField, ForeignKey, Model
|
|
|
|
|
|
|
|
|
2024-07-25 19:12:31 +03:00
|
|
|
class Substitution(Model):
|
2024-07-17 12:56:01 +03:00
|
|
|
''' Substitutions as part of Synthesis operation in OSS.'''
|
|
|
|
operation: ForeignKey = ForeignKey(
|
|
|
|
verbose_name='Операция',
|
|
|
|
to='oss.Operation',
|
|
|
|
on_delete=CASCADE
|
|
|
|
)
|
|
|
|
|
|
|
|
original: ForeignKey = ForeignKey(
|
|
|
|
verbose_name='Удаляемая конституента',
|
|
|
|
to='rsform.Constituenta',
|
|
|
|
on_delete=CASCADE,
|
|
|
|
related_name='as_original'
|
|
|
|
)
|
|
|
|
substitution: ForeignKey = ForeignKey(
|
|
|
|
verbose_name='Замещающая конституента',
|
|
|
|
to='rsform.Constituenta',
|
|
|
|
on_delete=CASCADE,
|
|
|
|
related_name='as_substitute'
|
|
|
|
)
|
|
|
|
transfer_term: BooleanField = BooleanField(
|
|
|
|
verbose_name='Перенос термина',
|
|
|
|
default=False
|
|
|
|
)
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
''' Model metadata. '''
|
|
|
|
verbose_name = 'Отождествление синтеза'
|
|
|
|
verbose_name_plural = 'Таблицы отождествлений'
|
|
|
|
|
|
|
|
def __str__(self) -> str:
|
2024-07-22 21:20:17 +03:00
|
|
|
return f'{self.original} -> {self.substitution}'
|