데이터를 올바르게 매핑하기 위해 sqlalchemy를 사용하려고합니다. 통합 그룹은 기본적으로 그룹 그룹입니다. 하나의 unifiedGroup은 많은 그룹으로 매핑되지만 각 그룹은 하나의 ug로만 매핑 될 수 있습니다. 각 행은 ugID, GID 튜플이라고SQLAlchemy 매핑 문제
CREATE TABLE `unifiedGroups` (
`ugID` INT AUTO_INCREMENT,
`gID` INT NOT NULL,
PRIMARY KEY(`ugID`, `gID`),
KEY(`gID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
;
참고 :
그래서 기본적으로이 내 unifiedGroups의 정의입니다. (나는 ugID마다 얼마나 많은 gID가 있는지 손에서 알지 못하기 때문에 이것은 아마도 가장 현명하고 간단한 방법 일 것입니다.) 내 UnifiedGroup 클래스
정의
class UnifiedGroup(object):
"""UnifiedProduct behaves very much like a group
"""
def __init__(self, ugID):
self.ugID=ugID
#Added by mapping
self.groups=False
def __str__(self):
return '<%s:%s>' % (self.ugID, ','.join([g for g in self.groups]))
이 내 매핑 테이블입니다 : 내가하려고 할 때, 그러나
mapper(UnifiedGroup, tb_unifiedGroups, properties={
'groups': relation(Group, backref='unifiedGroup')
})
: 다음과 같은 방법으로
tb_groupsInfo = Table('groupsInfo', metadata,
Column('gID', Integer, primary_key=True),
Column('gName', String(128)),
)
tb_unifiedGroups = Table('unifiedGroups', metadata,
Column('ugID', Integer, primary_key=True),
Column('gID', Integer, ForeignKey('groupsInfo.gID')),
)
내 매퍼지도 groupInstance.unifiedGroup을 수행하면 빈 목록 [], 이 표시됩니다. AttributeError : groupInstance.unifiedGroup.groups 나에게 오류를 반환 'InstrumentedList'개체가 어떤 속성 '그룹이 없습니다'
Traceback (most recent call last):
File "Mapping.py", line 119, in <module>
print p.group.unifiedGroup.groups
AttributeError: 'InstrumentedList' object has no attribute 'groups'
에 어떤 문제가 있습니까?