Flask -SQLAlchemy Суммирование количества товара в базе данных - PullRequest
0 голосов
/ 18 марта 2020

Я хочу сделать счетчик количества товара в указанной категории c. Я могу напечатать сумму продукта в указанной категории c, но не могу указать сумму. Например, в категории мыши у меня есть 2 продукта и количество продуктов 20 и 30. Я хочу напечатать 50 в таблице, но это напечатает 20 30. Вот так. Как я могу сложить эти числа.

models.py

class Products(db.Model):
    __searchable__ = ["product_name"]
    id = db.Column(db.Integer, primary_key=True)
    product_name = db.Column(db.String(20))
    product_amount = db.Column(db.Integer)
    product_price = db.Column(db.Float)
    product_date =  db.Column(db.DateTime, default=datetime.utcnow)
    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
    category = db.relationship('Category', backref="category", lazy=True)

    def __repr__(self):
        return f"Products('{self.product_name}' '{self.product_amount}' '{self.product_price}' '{self.category}')"


class Category(db.Model):
    __searchable__ = ["category_name"]
    id = db.Column(db.Integer, primary_key=True)
    category_name = db.Column(db.String(80))

    def __repr__(self):
        return f"{self.category_name}"

категории

@app.route("/categories", methods=["GET", "POST"])
@login_required
def categories():
    page = request.args.get("page", 1, type=int)
    categories = Category.query.paginate(page=page, per_page=5)
    products = Products.query.all()
    if request.method == "POST":
        category_name = request.form["category_name"]
        category = Category(category_name=category_name)
        db.session.add(category)
        db.session.commit()
        return redirect(url_for("categories"))
    return render_template("categories.html", categories=categories, products=products)

таблица

<table class="table table-striped mt-4">
        <thead>
          <tr>
            <th scope="col">Category Name</th>
            <th scope="col">Total Product</th>            
            <th scope="col">Total Price</th>            
            <th scope="col">Update Category</th>
            <th scope="col">Delete Category</th>
          </tr>
        </thead>
        <tbody>

          {% for category in categories.items %}
          <tr>
              <td>{{ category.category_name }}</td>
              <td>
                {% for product in products %}
                  {% if product.category_id == category.id %}
                  {{ product.product_amount }}
                  {% endif %}
                {% endfor %}
              </td>              
              <td>Price Counter</td>              
              <th><a href="/update_category/{{ category.id }}" class="btn btn-primary  ">Update</a></th>
              <th><a href="/delete_category/{{ category.id }}" class="btn btn-danger">Delete</a></th>
          </tr>
          {% endfor %}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...