2015-10-17 5 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 

Теперь я хочу, чтобы список продуктов, который выбран пользователь формы корзины модель, когда он или она находится в системе. как применить присоединиться к двум моделей, так что я получаю весь список продуктов в переменной 'p', которая находится в модели Cart.product. СпасибоДжанго модели ManyToManyField поля присоединиться

ответ

1

Shang Wang был прав насчет названия модели. Давайте использовать их.

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

Thankyou @ Кари-Антти-Kuosa – Harish

+0

продукции = Product.objects.filter (cart__user__id = 1) .. здесь cart__user__id или Cart__user__id ??? Тележка - это моя модель или что-то еще? – Harish

+0

Да, это ваша модель. –

Смежные вопросы