V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
hastelloy
V2EX  ›  Python

Flask Achemy 的 Model 怎么优雅的做简单查询和计算

  •  
  •   hastelloy · 2018-04-28 12:07:21 +08:00 · 1901 次点击
    这是一个创建于 2400 天前的主题,其中的信息可能已经有所发展或是发生改变。

    通过关系查找 ForeignKey 的字段值,简单计算本身的字段值,比如下面的查找到 Part 的重量,根据单位价格计算总价,把这个写在 Model 中合适吗?看文档中好像没有相关的例子,这种情况应该很常见吧

        class Part(db.Model):
            ...
            id = db.Column(db.Integer, primary_key=True)
            weight = db.Column(db.Float, nullable=False)
            ...
    
        class Quote(db.Model):
            ...
            unit_price = db.Column(db.Float, nullable=False)
            part_id = db.Column(db.Integer, db.ForeignKey("part.id"))
            part = db.relationship("Part", backref=db.backref('quotes', lazy=False))
            price = db.Colum(db.Float)
            ...
    
            def cal_price(self):
                p = Part.query.filter_by(Part.id=self.part_id).first()
                self.price = p.weight*self.unit_price
    
    1 条回复    2018-05-02 11:08:39 +08:00
    vipppppp
        1
    vipppppp  
       2018-05-02 11:08:39 +08:00
    好像没什么毛病
    不过建了外键了,为啥不直接 p = self.part
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   977 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 20:10 · PVG 04:10 · LAX 12:10 · JFK 15:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.