I have a flask-admin application for the following Flask-SQLAlchemy model. When the admin page for Order I can link to all existing Payment objects. However, I only want to show Payment objects that were made by the same Customer as the Order refers to. How can I do this?
class Customer(db.Model):
__tablename__ = "customer"
id = db.Column(db.Integer, primary_key=True)
orders_payments = db.Table(
'orders_payments',
db.Column('order_id', db.Integer, db.ForeignKey('order.id')),
db.Column('payment_id', db.Integer, db.ForeignKey('payment.id'))
)
class Order(db.Model):
__tablename__ = "order"
id = db.Column(db.Integer, primary_key=True)
customer_id = db.Column(db.Integer, db.ForeignKey("customer.id"))
customer = db.relationship(Customer, backref='orders')
payments = db.relationship("Payment", secondary=orders_payments, backref="orders")
class Payment(db.Model):
__tablename__ = "payment"
id = db.Column(db.Integer, primary_key=True)
customer_id = db.Column(db.Integer, db.ForeignKey("customer.id"))
customer = db.relationship(Customer, backref='payments')