mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-08-14 04:40:36 +03:00
33 lines
916 B
Python
33 lines
916 B
Python
''' Models: Content Block in OSS. '''
|
|
from django.db.models import CASCADE, ForeignKey, JSONField, Model
|
|
|
|
|
|
class Layout(Model):
|
|
''' Node layout in OSS.'''
|
|
oss = ForeignKey(
|
|
verbose_name='Схема синтеза',
|
|
to='library.LibraryItem',
|
|
on_delete=CASCADE,
|
|
related_name='layout'
|
|
)
|
|
|
|
data = JSONField(
|
|
verbose_name='Расположение',
|
|
default=list
|
|
)
|
|
|
|
class Meta:
|
|
''' Model metadata. '''
|
|
verbose_name = 'Схема расположения'
|
|
verbose_name_plural = 'Схемы расположения'
|
|
|
|
def __str__(self) -> str:
|
|
return f'Схема расположения {self.oss.alias}'
|
|
|
|
@staticmethod
|
|
def update_data(itemID: int, data: dict) -> None:
|
|
''' Update layout data. '''
|
|
layout = Layout.objects.get(oss_id=itemID)
|
|
layout.data = data
|
|
layout.save()
|