2015-10-17 133 views
0
--models.py-- 

class Products(models.Model): 
    name= models.CharField(max_length=120, unique=True) 
    slug = models.SlugField(unique=True) 
    price = models.IntegerField(default=100) 
    image1 = models.ImageField(upload_to='static/images/home', blank=True, null=True) 


class Cart(models.Model): 
    user = models.ForeignKey(User, null=True, blank=True) 
    product = models.ManyToManyField(Products, blank=True) 



--views.py-- 

@login_required 
def cart(request): 
    try: 
     cart_user = Cart.objects.filter(user = request.user) 
    except: 
     cart_user = False 

    if cart_user != False: 
     j = Products.objects.filter(pk=Cart.objects.filter(user=request.user)) #Not getting results in j 

了,我想這是由用戶表單車型號選擇時會記錄他(或她)的產品清單。 如何申請加入兩種機型,使我得到的所有產品列表在Cart.product模型中的'p'變量中。謝謝Django的模型ManyToManyField字段加入

回答

1

尚王對模型命名是正確的。我們來使用這些。

class Product(models.Model): 
    name= models.CharField(max_length=120, unique=True) 
    slug = models.SlugField(unique = True) 
    price = models.IntegerField(default=100) 
    image1 = models.ImageField(upload_to='static/images/home',blank=True,null=True) 

class Cart(models.Model): 
    user = models.ForeignKey(User,null=True, blank=True) 
    products = models.ManyToManyField(Product, blank=True) 

現在你可以使用這樣的過濾器。

products = Product.objects.filter(cart__user__id=1) 

carts = Cart.objects.filter(articles__name__startswith="Something").distinct() 
+0

三江源@卡里-的Antti-Kuosa – Harish

+0

產品= Product.objects.filter(cart__user__id = 1)..這裏cart__user__id或Cart__user__id ???推車是我的模型還是別的? – Harish

+0

是的,購物車是你的型號。 –