Portal/rsconcept/backend/apps/oss/models/Layout.py

33 lines
916 B
Python
Raw Normal View History

2025-04-06 13:28:00 +03:00
''' 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='Расположение',
2025-06-11 16:38:56 +03:00
default=list
2025-04-06 13:28:00 +03:00
)
class Meta:
''' Model metadata. '''
verbose_name = 'Схема расположения'
verbose_name_plural = 'Схемы расположения'
def __str__(self) -> str:
return f'Схема расположения {self.oss.alias}'
2025-08-01 18:31:23 +03:00
@staticmethod
def update_data(itemID: int, data: dict) -> None:
''' Update layout data. '''
layout = Layout.objects.get(oss_id=itemID)
layout.data = data
layout.save()