WIP: add table to record links between items

This commit is contained in:
Edward Betts 2018-06-04 14:17:13 +01:00
parent 66ea0d1826
commit 989c36f52d

View file

@ -122,6 +122,14 @@ class User(TimeStampedModel, UserMixin):
raise LoginError('incorrect password')
return user
class Reference(Base):
__tablename__ = 'reference'
subject_id = Column(Integer, ForeignKey('item.id'), primary_key=True)
object_id = Column(Integer, ForeignKey('item.id'), primary_key=True)
subject_item = relationship('User', backref='objects')
object_item = relationship('User', backref='subjects')
class Item(TimeStampedModel):
__tablename__ = 'item'
__versioned__ = {'base_classes': (TimeStampedModel,)}
@ -134,6 +142,15 @@ class Item(TimeStampedModel):
filename = Column(Unicode)
text = Column(UnicodeText)
subjects = relationship('item',
secondary='reference',
# backref='object_item',
primaryjoin=id == Reference.object_id)
objects = relationship('item',
secondary='reference',
# backref='subjects_item',
primaryjoin=id == Reference.subject_id)
user = relationship('User', backref='items')
__mapper_args__ = {