Ich bin auf der Suche nach einer bequemen Möglichkeit zum Erstellen von ModelView, um eine Anzahl von untergeordneten Elementen an einen übergeordneten anfügen, wenn Sie es erstellen. Zum Beispiel, ich habe Modelle:Zuordnung von Objektobjekten, Anhängen von Kindern an Eltern, Verbergen der Verwendung einer "mittleren" Tabelle
class Order(db.Model):
__tablename__ = 'order'
id = db.Column(db.Integer, primary_key=True)
things = db.relationship('OrderList', back_populates='order', lazy='dynamic')
class OrderList(db.Model):
__tablename__ = 'order_list'
order_id = db.Column(db.Integer, db.ForeignKey('order.id'), primary_key=True)
thing_id = db.Column(db.Integer, db.ForeignKey('things.id'), primary_key=True)
amount = db.Column(db.Numeric(precision=10, scale=3))
order = db.relationship('Order', back_populates='things', lazy='joined')
thing = db.relationship('Thing', back_populates='orders', lazy='joined')
class Thing(db.Model):
__tablename__ = 'things'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(128))
orders = db.relationship('OrderList', back_populates='thing', lazy='dynamic')
stock = db.Column(db.Numeric(precision=10, scale=3))
price = db.Column(db.Numeric(precision=10, scale=3))
einfach fügte hinzu, dass Modelle zu-admin-Kolben, würde ich die Gelegenheit bekommen zu ORDER Instanzen Sache oder zu bestellen anhängen:
Aber Wie füge ich Kinder an Eltern an, ohne auf das mittlere OrderList-Objekt zuzugreifen? Genau wie die Verwendung der Eins-zu-viele-Beziehung.
Tabelle Schema:
Warum möchten Sie 'Thing' an' Order' anhängen, Sie haben dort keine Beziehung definiert. Ich könnte mich irren, können Sie die Frage etwas ausführlicher erklären. – formatkaka
@Siddhant Warum hast du angenommen, dass ich keine Beziehung definiert habe? Tatsächlich habe ich db.relationship verwendet, um Order to OrderList und OrderList mit Thing zu verknüpfen, um die M-to-M-Beziehung zu deklarieren. Ich werde meine Frage mit Tabellenschema erweitern. – aryndin