سلام استاد
استاد چطوری می تونیم تمام order detail هایی که مربوط به سبد خرید یک کاربر هستند هر چندتا که باشه رو
تو بخش ادمین داخل order اون شخص به صورت یک لیست نمایش بدیم
مثلا زیر اسم فرد تمام محصولاتی که تو سبد خریدش داررو تو بخش ادمین نشون بدیم؟
سلام دوست من
در مورد نحوه ی customize کردن قالب ادمین در دوره صحبت خواهیم کرد
سلام وقت بخیر
اگر منظورتون با ادمین جنگو هست که باید از StackedInline استفاده کنید سرچ کنید نمونه هاش رو براتون میاره
اونطور که شما میخواید نمیشه ولی خب بهتر از هیچیه
بهترین کار اینه ادمین اختصاصی بنویسید براش که در این صورت هر کاری بخواید با دست باز میتونید انجام بدید یه query میزنید لیست ایتم های سبد خرید کاربر رو به راحتی میارید هر جا میخواید نمایش میدید
ممنون🙏
سلام جناب اردوخانی
من قسمتی که مربوط به سبد خرید هست مشکل داشتم
وقتی که وارد بخش سبد های خرید کاربران میشم اسامی رو نمیاره البته در محیط http://127.0.0.1:8000 نشان میدهد ولی درون خود سایت اصلی در بخش ادمین نشان داده نمی شود
توی مدل ها هم مثل شما از این کد استفاده کردم
from django.db import models
from django.contrib.auth.models import User
from eshop_products.models import Product
class Order(models.Model):
owner = models.ForeignKey(User, on_delete=models.CASCADE)
is_paid = models.BooleanField(verbose_name='پرداخت شده / نشده')
payment_date = models.DateTimeField(null=True, blank=True, verbose_name='تاریخ پرداخت')
class Meta:
verbose_name = 'سبد خرید'
verbose_name_plural = 'سبدهای خرید کاربران'
def __str__(self):
return self.owner.get_full_name()
def get_total_discount(self):
amount = 0
for detail in self.orderdetail_set.all():
amount += detail.discount * detail.count
return amount
class OrderDetail(models.Model):
order = models.ForeignKey(Order, null=True, blank=True, on_delete=models.CASCADE, verbose_name='سبد '
'خرید')
product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name='محصول')
discount = models.IntegerField(verbose_name='قیمت محصول')
count = models.IntegerField(verbose_name='تعداد')
def get_detail_sum(self):
return self.count * self.discount
class Meta:
verbose_name = 'جزییات محصول'
verbose_name_plural = 'اطلاعات جزییات محصولات'
def __str__(self):
return self.product.title
سلام
اگه منظورتون اینه که تو بخش ادمین جنگو تو سبد خرید نام کاربر رو نشون نمیده
باید تو همون بخش ادمین جنگو برید قسمت user و نام کاربرو وارد کنید به احتمال زیاد اون فیلدا خالین!
ممنون حل شد