API up and running.

This commit is contained in:
Yaro Kasear 2025-09-04 15:05:09 -05:00
parent d9ed6d5cd7
commit 207e3f5b51
3 changed files with 40 additions and 7 deletions

View file

@ -8,5 +8,6 @@ class Program(Dbref):
id = Column(Integer, ForeignKey("dbref.id"), primary_key=True)
__mapper_args__ = {
"polymorphic_identity": ObjectType.PROGRAM
"polymorphic_identity": ObjectType.PROGRAM,
"inherit_condition": id == Dbref.id
}

View file

@ -1,5 +1,5 @@
from sqlalchemy import Column, Integer, ForeignKey
from sqlalchemy.orm import relationship
from sqlalchemy.orm import relationship, foreign, remote
from crudkit.core.base import CRUDMixin
@ -12,9 +12,10 @@ class Thing(Dbref):
value = Column(Integer, nullable=False, default=0)
home_id = Column(Integer, ForeignKey("dbref.id"), nullable=False)
home = relationship("Dbref", remote_side=[CRUDMixin.id], foreign_keys=[home_id])
home_id = Column(Integer, ForeignKey("dbref.id"), nullable=True)
home = relationship("Dbref", remote_side=[CRUDMixin.id], foreign_keys=[home_id], primaryjoin=lambda: foreign(Thing.home_id) == remote(Dbref.id))
__mapper_args__ = {
"polymorphic_identity": ObjectType.THING
"polymorphic_identity": ObjectType.THING,
"inherit_condition": id == Dbref.id
}