[英]Flask / SqlAlchemy / Graphene - how to query an object from DB and change value?
[英]Graphene and SQLAlchemy: derivate from a base object type
我正在使用 Flask、Graphene、SQLAlchemy 和 Graphene-SQLAlchemy 構建一個應用程序,其中我實現了以下模型:
class User(db.Model):
__tablename__ = "user"
id = Column(Integer, primary_key=True)
name = Column(Text, nullable=False)
email = Column(Text, nullable=False)
class BusinessUser(db.Model):
__tablename__ = "bis_user"
id = Column(Integer, ForeignKey("user.id"), primary_key=True)
vatNumber = Column(Text, nullable=False)
class LVUser(db.Model):
__tablename__ = "lv_user"
id = Column(Integer, ForeignKey("user.id"), primary_key=True)
lv_num = Column(Integer, nullable=False)
我的目標是定義三個 GraphQL 類型,如下所示:
type User {
id : ID
name : String
email : String
}
type BusinessUser {
id : ID
name : String
email : String
vatNumber : String
}
type LVUser {
id : ID
name : String
email : String
lvNum : Integer
}
但我正在努力尋找一種高效而優雅的方式。 有什么辦法可以讓我們說一個“基本” object 類型User
並在我的基本類型的頂部創建BusinessUser
和LVUser
類型,同時提供額外的字段?
請閱讀Composing Mapped Hierarchies with Mixins ,它似乎准確地描述了您正在尋找的場景和解決方案。
但是,由於您有其他兩個表中user.id
的外鍵,這提示我一個 inheritance 可以使用Mapping Class Inheritance Hierarchies來實現,而實際策略將取決於數據庫級別的表的設計方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.