Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modelo de Producto modificado para guardar el stock #58

Open
Arturomtz8 opened this issue Mar 3, 2022 · 3 comments
Open

Modelo de Producto modificado para guardar el stock #58

Arturomtz8 opened this issue Mar 3, 2022 · 3 comments
Assignees

Comments

@Arturomtz8
Copy link
Collaborator

Arturomtz8 commented Mar 3, 2022

stock = models.PositiveIntegerField(default=0)
is_available = models.BooleanField()
  • Y en la lógica del modelo para guardar los datos (def save(self, *args, **kwargs):) añadí lo siguiente para rellenar el campo booleano de is_available:
self.is_available = False
    if self.stock > 0:
        self.is_available = True
  • En la view de home(ecommerce/views.py), puse un filtro para que sólo muestre los productos que tengan is_available = True:
def home(request):
    products = Product.objects.filter(is_available=True)
    product_count = products.count()

    return render(request, "ecommerce/home.html", {"products": products, "product_count": product_count})
  • Y añadí el nuevo campo de stock a la form(ecommerce/forms.py) de editar y crear productos:
    fields = ["title", "description", "price", "category", "stock"]

-Por último, modifiqué el user panel (templates/users/user_panel.html) para que ahora también muestre cuánto stock tiene cada producto del vendedor:

                <th scope="col">Stock</th> ------------>NUEVO
                <th scope="col"></th>
                <th scope="col"></th>
                <th scope="col"></th>
                <th scope="col"></th>
            </tr>
            </tr>
                <h1>Tienda {{request.user.seller}}</h1>
                </th>
                </th>


                <th scope="col">{{product.price}}</th>
                <th scope="col">{{product.price}}</th>

                <th scope="col">{{product.stock}}</th>  ------------>NUEVO


@Arturomtz8 Arturomtz8 self-assigned this Mar 3, 2022
@CodeRagnarok07
Copy link
Collaborator

creo que el campo booleano esta demás por que con solo la lógica de stock > 0 ya da un booleano

@Arturomtz8
Copy link
Collaborator Author

Arturomtz8 commented Mar 4, 2022

Tienes razón, más bien la función de check_availability, está de más. la borré, pero el campo de is available, está útil para mostrar los prods en la home : o

@CodeRagnarok07
Copy link
Collaborator

se puede hacer con los mismos filtros, no estoy seguro pero tampoco tengo dudas, da igual hay que hacerlo como salga despues veo que toqueteo a ver si funciona

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants