SqlAlchemy Flask模型限制保存 - 关系配置

时间:2013-10-11 13:20:59

标签: python sqlalchemy flask flask-sqlalchemy

我有两个模型(我正在使用MySQL。):

class Customer(Base):
    __tablename__ = 'customer'
   ...
   partner_id =Column(Integer, ForeignKey('partner.id'), nullable=False) 
   ...

class User(Base):
  ...
  customer_id = Column(Integer, ForeignKey('customer.id'), nullable=False)
  partner_id = Column(Integer, ForeignKey('partner.id'), nullable=False)
  ...

如何User customer_id partner_id保存,partner_idCustomer对应customer_idForeignKeyConstraint(['partner_id'], ['customer.partner_id']) {1}}? 是否有任何关系配置禁止? 我试过了:

{{1}}

在用户模型中但是当我尝试不这样做时它不会停止!

2 个答案:

答案 0 :(得分:0)

我想也许我已经抓住了你的观点。

您可以使用以下代码进行验证或约束:

user = user_to_save()
customer = session.query(Customer).filter(Customer.id = user.customer_id).one()
if customer.partner_id == user.partner_id:
    save_user()
else:
    do_something()

答案 1 :(得分:0)

我有点想要这件事。感谢edsioufi

Flask Python Model Validation

相关问题