Open rybalchenkoserg opened 7 months ago
Если в контейнере используются несколько MAToOneRelationDescription для связи с одним и тем же объектом, то в таблице БД создается только первая связь. Пример:
class Host(MAModel): address = "" protocol = "" host_desc = MAContainer() host_desc.name = 'Host' host_desc.setChildren( [ MAStringDescription( name='address', label='Ip Address', required=True, accessor=MAAttrAccessor('address'), sa_isPrimaryKey=True, ), MAStringDescription( name='protocol', label='Protocol', required=True, accessor=MAAttrAccessor('protocol'), ), ] ) class Interface(MAModel): interface="" ip4="" gateway="" interface_desc = MAContainer() interface_desc.name = 'Interface' interface_desc.setChildren( [ MAStringDescription( name='interface', label='Interface', required=True, accessor=MAAttrAccessor('interface') , sa_isPrimaryKey=True ), MAToOneRelationDescription( name='ip4_addr', label='IP4 Address', required=True, accessor=MAAttrAccessor('ip4_addr'), classes=[Host], reference=host_desc ), MAToOneRelationDescription( name='gateway', label='Gateway', accessor=MAAttrAccessor('gateway'), classes=[Host], reference=host_desc ) ] )
В этом случае, в таблице Interface будет содано только поле только для ip4_addr, для gateway поле не создается.
Если в контейнере используются несколько MAToOneRelationDescription для связи с одним и тем же объектом, то в таблице БД создается только первая связь. Пример:
В этом случае, в таблице Interface будет содано только поле только для ip4_addr, для gateway поле не создается.