I have an e-commerce store project on django which has an custom user model:
<code>from django.contrib.auth.models import AbstractUser
from django.db import models
from .managers import UserManager
from upload.models import Product
from django.conf import settings
class CustomUser(AbstractUser):
previous_orders = models.ManyToManyField(Product,related_name = 'previous_orders')
cart = models.ManyToManyField(Product,related_name = 'cart')
address = models.TextField(default='Address not provided')
email = models.EmailField(unique=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
objects=UserManager()
</code>
<code>from django.contrib.auth.models import AbstractUser
from django.db import models
from .managers import UserManager
from upload.models import Product
from django.conf import settings
class CustomUser(AbstractUser):
previous_orders = models.ManyToManyField(Product,related_name = 'previous_orders')
cart = models.ManyToManyField(Product,related_name = 'cart')
address = models.TextField(default='Address not provided')
email = models.EmailField(unique=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
objects=UserManager()
</code>
from django.contrib.auth.models import AbstractUser
from django.db import models
from .managers import UserManager
from upload.models import Product
from django.conf import settings
class CustomUser(AbstractUser):
previous_orders = models.ManyToManyField(Product,related_name = 'previous_orders')
cart = models.ManyToManyField(Product,related_name = 'cart')
address = models.TextField(default='Address not provided')
email = models.EmailField(unique=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
objects=UserManager()
I am trying to add a product in the cart field with following view
<code>def product_page(request,url):
if request.method == 'POST':
product=Product.objects.get(title=url)
if request.user.is_authenticated:
usr = CustomUser.objects.get(email=request.user.email)
usr.save()
usr.cart.add(product)
usr.save()
else:
product=Product.objects.get(title=url)
return render(request,'product_view.html',{'product':product})
</code>
<code>def product_page(request,url):
if request.method == 'POST':
product=Product.objects.get(title=url)
if request.user.is_authenticated:
usr = CustomUser.objects.get(email=request.user.email)
usr.save()
usr.cart.add(product)
usr.save()
else:
product=Product.objects.get(title=url)
return render(request,'product_view.html',{'product':product})
</code>
def product_page(request,url):
if request.method == 'POST':
product=Product.objects.get(title=url)
if request.user.is_authenticated:
usr = CustomUser.objects.get(email=request.user.email)
usr.save()
usr.cart.add(product)
usr.save()
else:
product=Product.objects.get(title=url)
return render(request,'product_view.html',{'product':product})
But the field remains empty for some reason.