>source

사용자가 add_to_cart URL을 눌러 벤널 프로필을 저장하지 않고 모든 작업 파일을 히는 경우 공급 업체 프로파일을 추가하려고합니다. 단일 공급 업체 모델은 벤더 데이터를 추적 할 수 있도록 여러 공급 업체 모델을 만들고 싶었습니다. 너무 고마워요, 당신의 도움을 주셔서 감사합니다

model.py

class OrderItem(models.Model):
        user= models.ForeignKey(settings.AUTH_USER_MODEL,
                                 on_delete=models.CASCADE, null=True)
        ordered= models.BooleanField(default=False)
        item= models.ForeignKey(Item, on_delete=models.CASCADE, null=True)
        vendor= models.ForeignKey(Vendor, related_name='items', on_delete=models.CASCADE)
                  **save this vendor profile when user hit add_to_cart**
        # vendor_paid= models.BooleanField(default=False)
        quantity= models.IntegerField(default=1)
        # price= models.DecimalField(max_digits=8, decimal_places=2)
        wishlist= models.ManyToManyField(Wishlist, blank=True)

views.py.

@login_required
def add_to_cart(request, slug):
    item= get_object_or_404(Item, slug=slug)
    vendor= Vendor.object. # this where the problem is
    order_item, created= OrderItem.objects.get_or_create(
        item=item,
        vendor=vendor,   # how to save the vendor profile
        user=request.user,
        ordered=False
    )
    order_qs= Order.objects.filter(user=request.user, ordered=False)
    if order_qs.exists():
        order= order_qs[0]
        # check if the order item is in the order
        if order.items.filter(item__slug=item.slug).exists():
            order_item.quantity += 1
            order_item.save()
            messages.info(request, "This item quantity was updated.")
            return redirect("product:product_detail_view", slug=item.slug)
        else:
            order.items.add(order_item)
            messages.info(request, "This item was added to your cart.")
            return redirect("product:product_detail_view", slug=item.slug)
    else:
        ordered_date= timezone.now()
        order= Order.objects.create(user=request.user, ordered_date=ordered_date)
        order.items.add(order_item)
        messages.info(request, "This item was added to your cart.")
        return redirect("product:product_detail_view", slug=item.slug)

공급 업체는 누구인지, Vendor_id가 요청과 함께 통과하는 것과 같은 것이 있습니까?

Sumithran2021-05-09 22:40:29

기본 사용자로부터 상속되는 공급 업체에 대한 프로파일이 있습니다.

Rafi khan2021-05-09 22:40:29

나는이 모델을 편집했을 수 있습니다.

Rafi khan2021-05-09 22:40:29

요청한 사용자는 공급 업체입니까?

Sumithran2021-05-09 22:40:29

user= request.user 벤더가 아닌 정상적인 사용자가 구매자만으로 생각하는 것 같습니다. 벤더는 제품을 추가 한 사람입니다.

Rafi khan2021-05-09 22:40:29
  • 이전 javascript : 내 반응 프로젝트에서 자동 텍스트 효과를 어떻게 만들 수 있습니까?
  • 다음 Flutter App에 Google 태그 관리자를 추가하는 방법은 무엇입니까?