• 1400/03/11

سوال در مورد id order :

سلام استاد یه سوال دیگه چجوری میشه ای دی سفارش رو order detail بدست اورد؟

  • 1400/03/11
  • ساعت 21:09

سلام وقت بخیر

order_detail به order فارنکی داره و بهش دسترسی داره :

order_detail.order.id

  • 1400/03/11
  • ساعت 21:29

 

اوکی ممنون


  • 1400/03/11
  • ساعت 21:44

این خطارو میده


  • 1400/03/11
  • ساعت 21:56

از ویو تون عکس بفرستید


  • 1400/03/11
  • ساعت 22:02

  • 1400/03/16
  • ساعت 14:02

عکس ویو لطفا اگر میدونید بگید ممنون


  • 1400/03/17
  • ساعت 10:22

سلام وقت بخیر

این OrderDetail که نوشتید خود مدل اصلی هستش شما باید یک نمونه ای ازش رو در نظر بگیرید و در اون صورت اگر بنویسید :

order_detail.order.id

ایدی سفارش رو به شما میده

ولی خب با این ایدی میخواید چیکار کنید ؟

اگر دقیق تر بگید میخواید چه کاری انجام بدید بهتر میتونم راهنماییتون کنم


  • 1400/03/17
  • ساعت 12:40

اصلا order نداره

میخوام بررسی کنم که ایا این کالا در سبد خرید موجود هست یا نه اگر موجود بود به جای دکمه انتقال به سبد خرید بنویسه موجود در سبد خرید شما


  • 1400/03/17
  • ساعت 13:34

دلیلی که order نداره اینه که وقتی شما مینویسید 

order_detail = OrderDetail.objects.all()

میاد لیستی از همه order detail ها برمی گردونه ما وقتی یدونه object داریم به order دسترسی داره یعنی :

for detail in order_detail:
	detail.order.id

حالا با این کاری نداریم برای کاری که میخواید انجام بدید این مورد لازم نیست

باید اول سبد خرید باز کاربر رو پیدا کنید من نامگذاری فیلدهای پروژه رو واقعا یادم نیست و به پروژه هم دسترسی ندارم الان که ببینم برای همین نام هایی میزارم که مشخص باشه به چی اشاره میکنن شما فیلد مورد نظر رو بزارید :

order = Order.objects.filter(
	isPaid = False,
	user_id = request.user.id, 
	...
).first()

حالا میایم میبینیم محصول ما در این سبد خرید هست یا نه

isExistsProductinOrder = order.orderdetail_set.filter(
	product_id = product.id
).exists()

این بین ممکنه order مقدارش None باشه و یا کاربر لاگین نباشه که ارور هایی رو دریافت میکنید با if اون هارو کنترل کنید

حالا این متغیر رو دارید isExistsProductinOrder که به شما میگه محصول این صفحه توی سبد خرید هست یا نه و میتونید کاری که لازمه رو باهاش انجام بدید


  • 1400/03/17
  • ساعت 14:36

خیلی ممنون


  • 1400/03/17
  • ساعت 14:58

استاد objects رو نمیاره خودمم مینویسم attributeerror میده میگه objects موجود نیست


  • 1400/03/17
  • ساعت 15:29

objects رو ننویسید اشتباه نوشتم اونجا objects نداره تصحیحش کردم

isExistsProductinOrder = order.orderdetail_set.filter(
	product_id = product.id
).exists()

  • 1400/03/17
  • ساعت 15:48

خیلی ممنون که توجه کردید درست شد


logo-samandehi