Тип объекта «Корзина» не имеет атрибута «объекты» на веб-сайте Django - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь научиться делать корзину на сайте электронной коммерции, посмотрев какой-нибудь учебник.Я получаю сообщение об ошибке во время выполнения моего кода, хотя в учебнике он работает нормально, но в моем коде он выдает ошибку примерно так.Я понятия не имею, почему я пытался проверить свой код несколько раз, но все еще не могу понять.

Тип объекта «Корзина» не имеет атрибута «объекты»

Это мои коды

тележки / models.py

from django.conf import settings

from django.db import models
from products.models import Product
User = settings.AUTH_USER_MODEL

# Create your models here.

class CartManager(models.Manager):
    def new(self, user=None):
        user_obj = None
        if user is not None:
            if user.is_authenticated():
                user_obj = user_obj
        return self.model.objects.create(user=user_obj)



class Cart(models.Model):
    user        = models.ForeignKey(User, null=True, blank=True, on_delete=models.CASCADE)
    products    = models.ManyToManyField(Product, blank=True)
    total       = models.DecimalField(default=0.00, max_digits=100, decimal_places=2)
    updated     = models.DateTimeField(auto_now=True)
    timestamp   = models.DateTimeField(auto_now_add=True)

    object = CartManager()
    def __str__(self):
        return str(self.id)

тележки / просмотр

from django.shortcuts import render

from .models import Cart

# Create your views here.


def cart_home(request):
    cart_id = request.session.get('cart_id', None)
    qs = Cart.objects.filter(id = cart_id)
    if qs.count() == 1:
        cart_obj = qs.first()
        print('Cart id exists')
    else:
        cart_obj = Cart.objects.new(user=request.user)
        request.session['cart_id'] = cart_obj.id
    return render(request, "carts/home.html", {})

1 Ответ

2 голосов
/ 03 апреля 2019

Из-за этого:

class Cart(models.Model):
    ...
    object = CartManager()

Вы присвоили менеджер моделей в качестве атрибута object в Cart модели.Поэтому переименуйте его в objects.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...