Sfoglia il codice sorgente

Fix object loading

theenglishway (time) 6 anni fa
parent
commit
cc1f1bf377

+ 3 - 0
pyplanner/models/items.py

@@ -15,11 +15,14 @@ class Item(SQLABase, Base):
 
     __tablename__ = 'items'
     id = Column(Integer, primary_key=True)
+    _type = Column(String)
 
     name = Column(String)
     description = Column(Text)
     uuid = Column(String)
 
     __mapper_args__ = {
+        'polymorphic_on': _type,
+        'polymorphic_identity': 'none',
         'with_polymorphic': '*'
     }

+ 0 - 3
pyplanner/models/planned.py

@@ -73,7 +73,6 @@ class PlannedItem(Item):
 
     __tablename__ = 'planned_items'
     id = Column(Integer, ForeignKey('items.id'), primary_key=True)
-    _type = Column(String)
 
     collection_id = Column(Integer, ForeignKey('collections.id'))
     collection = relationship('Collection', backref=backref('planned_items'))
@@ -82,9 +81,7 @@ class PlannedItem(Item):
     _length = Column(String)
 
     __mapper_args__ = {
-        'polymorphic_on': _type,
         'polymorphic_identity': PlannedItemType.PLANNED.value,
-        'with_polymorphic': '*'
     }
 
     @hybrid_property

+ 5 - 1
pyplanner/models/sprints.py

@@ -21,7 +21,11 @@ class Sprint(Collection):
     description = Column(Text)
 
     milestone_id = Column(Integer, ForeignKey('milestones.id'))
-    milestone = relationship('Milestone', backref=backref('sprints'), foreign_keys=[milestone_id])
+    milestone = relationship(
+        'Milestone',
+        backref=backref('sprints', lazy='joined'),
+        foreign_keys=[milestone_id]
+    )
 
     __mapper_args__ = {
         'polymorphic_identity': 'sprint'

+ 0 - 3
pyplanner/models/unplanned.py

@@ -22,12 +22,9 @@ class UnplannedItem(Item):
 
     __tablename__ = 'unplanned_items'
     id = Column(Integer, ForeignKey('items.id'), primary_key=True)
-    _type = Column(String)
 
     __mapper_args__ = {
-        'polymorphic_on': _type,
         'polymorphic_identity': UnplannedItemType.UNPLANNED.value,
-        'with_polymorphic': '*'
     }
 
     @hybrid_property