“Akun Django tidak memiliki pelanggan” Kode Jawaban

Akun Django tidak memiliki pelanggan

from multiprocessing import context
from django.shortcuts import render
from .models import *
from django.contrib.auth.models import User
from django.http import JsonResponse
import json

# Create your views here.
def store(request):
    if request.user.is_authenticated:
        customer = request.user.customer
        order, created=Order.objects.get_or_create(customer=customer, complete =False)
        items =order.orderitem_set.all()
        cartItems=order.get_cart_items

    else:
        items=[]
        order = {'get_cart_total':0, 'get_cart_items':0}
        cartItems=order['get_cart_items']

    products = Product.objects.all()
    context = {
        'products':products,
        'cartItems':cartItems,
        
        
    }
    return render(request, 'store/store.html', context)

def cart(request):
    if request.user.is_authenticated:
        customer = request.user.customer
        order, created=Order.objects.get_or_create(customer=customer, complete =False)
        items =order.orderitem_set.all()
        cartItems=order.get_cart_items
        
    else:
        items=[]
        order = {'get_cart_total':0, 'get_cart_items':0}
        cartItems=order['get_cart_items']
    
    context = {
        'items':items,
        'order':order,
        'cartItems':cartItems,
    }
    return render(request, 'store/cart.html', context)

def checkout(request):
    if request.user.is_authenticated:
        customer = request.user.customer
        order, created=Order.objects.get_or_create(customer=customer, complete =False)
       # order, created=Order.objects.get_or_create(complete =False)
        items =order.orderitem_set.all()
    else:
        items=[]
        order = {'get_cart_total':0, 'get_cart_items':0}
        cartItems=order['get_cart_items']
    
    context = {
        'items':items,
        'order':order,
        'cartItems':cartItems
    }
    return render(request, 'store/checkout.html', context)

def updateItem(request):
    data = json.loads(request.data)
    productId = data['productId']
    action = data['action']

    print('Action:', action)
    print('productId:', productId)

    customer=request.user.customer
    product=Product.objects.get(id=productId)
    order, created=Order.objects.get_or_create(complete =False)

    orderItem, created=OrderItem.objects.get_or_create(order=order, product=product)

    if action =='add':
        orderItem.quantity =(orderItem.quantity +1)
    elif action =='remove':
        orderItem.quantity =(orderItem.quantity -1)
        orderItem.save()
    
    if orderItem.quantity <=0:
        orderItem.delete()



    return JsonResponse('Item was added', safe =False)
buyile mgwezani

Akun Django tidak memiliki pelanggan

customer = Customer.objects.get(user__id = request.user.id)
buyile mgwezani

Akun Django tidak memiliki pelanggan

import email
from django.db import models
from django.db.models.fields.related import OneToOneField
from django.contrib.auth.models import User
from numpy import product 

# Create your models here.

class Customer(models.Model):
    user=models.OneToOneField(User, null=True, blank=True, on_delete=models.CASCADE)
    name = models.CharField(max_length=200, null=True)
    email=models.CharField(max_length=200)

    def __str__(self):
        return self.name

        

class Product(models.Model):
    name = models.CharField(max_length=200, null=True)
    price = models.FloatField()
    digital=models.BooleanField(default=False, null=True, blank=True)
    image = models.ImageField(null=True, blank=True)

    def __str__(self):
        return self.name
    #this is  to avoid erro in the template when we delete image
    @property
    def imageURL(self):
        try:
            url=self.image.url
        except:
            url=''
        return url


class Order(models.Model):
    customer=models.ForeignKey(Customer, on_delete=models.SET_NULL, null=True, blank=True)
    date_ordered=models.DateTimeField(auto_now_add=True)
    complete = models.BooleanField(default=False)
    transaction_id = models.CharField(max_length=200, null=True)

    def __str__(self):
        return str(self.id)

    @property
    def get_cart_total(self):
        orderitems = self.orderitem_set.all()
        total = sum([item.get_total for item in orderitems])
        return total

    @property
    def get_cart_items(self):
        orderitems = self.orderitem_set.all()
        total = sum([item.quantity for item in orderitems])
        return total

    


class OrderItem(models.Model):
    product=models.ForeignKey(Product, on_delete=models.SET_NULL, null=True, blank=True)
    order=models.ForeignKey(Order, on_delete=models.SET_NULL, null=True, blank=True)
    quantity = models.IntegerField(default=0, null=True, blank=True)
    date_added=models.DateTimeField(auto_now_add=True)

    @property
    def get_total(self):
        total = self.product.price * self.quantity
        return total


class ShippingAddress(models.Model):
    customer=models.ForeignKey(Customer, on_delete=models.SET_NULL, null=True, blank=True)
    order=models.ForeignKey(Order, on_delete=models.SET_NULL, null=True, blank=True)
    address= models.CharField(max_length=200, null=True)
    city = models.CharField(max_length=200, null=True)
    state = models.CharField(max_length=200, null=True)
    zipcode = models.CharField(max_length=200, null=True)
    date_added=models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.address
buyile mgwezani

Jawaban yang mirip dengan “Akun Django tidak memiliki pelanggan”

Pertanyaan yang mirip dengan “Akun Django tidak memiliki pelanggan”

Lebih banyak jawaban terkait untuk “Akun Django tidak memiliki pelanggan” di Python

Jelajahi jawaban kode populer menurut bahasa

Jelajahi bahasa kode lainnya