【问题标题】:SQLAlchemy: Trying to extract distinct values from a columnSQLAlchemy:尝试从列中提取不同的值
【发布时间】:2021-08-08 19:06:47
【问题描述】:

我有这个客户模型:

class Customer(db.Model,UserMixin):
    id = db.Column(db.Integer,primary_key=True)
    customer_id = db.Column(db.Integer,unique=True,nullable=False)
    name = db.Column(db.String(80),nullable=False)
    address = db.Column(db.String(200))
    phone_no = db.Column(db.String(10))
    date = db.Column(db.DateTime())
    right_sph = db.Column(db.String(5))
    right_cyl = db.Column(db.String(5))
    right_axis = db.Column(db.String(5))
    right_vision = db.Column(db.String(5))
    left_sph = db.Column(db.String(5))
    left_cyl = db.Column(db.String(5))
    left_axis = db.Column(db.String(5))
    left_vision = db.Column(db.String(5))
    near = db.Column(db.String(5))
    refered_by = db.Column(db.String(50))
    frame_cost = db.Column(db.Integer)
    lens_cost = db.Column(db.Integer)
    total_amt = db.Column(db.Integer)
    discount = db.Column(db.Integer)
    payable_amt = db.Column(db.Integer)
    advance_amt = db.Column(db.Integer)
    balance_amt = db.Column(db.Integer)

我正在尝试提取所有唯一值列refered_by。因此,我正在运行此查询:

customer_refered_by = Customer.query.with_entities(Customer.refered_by).distinct()

现在这个查询没有返回条目列表,而是返回 SQL 查询:

SELECT DISTINCT customer.refered_by AS customer_refered_by
FROM customer

谁能帮我弄清楚我做错了什么。

【问题讨论】:

  • 您需要遍历查询结果(for cust in customer_refered_by:print(x) 或调用其.all() 方法以获取结果列表。
  • 谢谢你,我明白我应该做什么了。

标签: python sql flask flask-sqlalchemy


【解决方案1】:

你的代码看起来不错:

customer_refered_by = Customer.query.with_entities(Customer.refered_by).distinct()
for entry in customer_refered_by:
    print(entry.refered_by)

或者只是快速将其放入列表中:

distinct_referrers = [x.refered_by for x in customer_refered_by]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多