(7) ورشة تطوير تطبيقات الويب باستخدام Django: موقع إدارة جانقو - Django Admin Site


#21

تقصد هذه؟

all() و get() و filter() و exclude().

#22

نعم بالضبط البارامتر queryset نوعه QuerySet يعني الدوال التي اخذناها في الدرس السابق موجوده في هذا البارامتر حتى update و delete


#23

نعم وانا انطلقت بناءا عليها، لكن اجد الامور تسير بشكل مختلف
فمثلاً:

queryset.update(price=(price) - (price*0.2)) 

لماذا يعطيني خطا حين احاول معالجة الموضوع بهذه الطريقة!!؟


#24

لأن price على يمين ال = غير معرف
يجب ان تمر على كل منتج وتقوم بتعديل السعر ثم المنتج والذهاب الى منتج اخر.

جرب عمل for loop بهذا الشكل

for product in queryset:
    # Code to upgrade product

#25

أن حاولت اعمل ذلك لكن هنالك حلقة مفرغة غير واضحة بالنسبة لي:
هل تقصد ان افعل ذلك كما يلي:

    for Product in queryset:
        queryset.update(price=price-pirce*2)

لو اردنا طباعة product من اللوب السابق ما هي النتيجة التي سوف تظهر؟؟
اسف يبدو انني اظثرت من الاسئلة لكنني لا استطيع ان اتقدم دون افهم :roll_eyes:


#26

لا ليس هكذا انت بعد عملت التكرار لديك في في كل تكرار منتج يمكنك التعامل ببيانته عبر المتغير product

for product in queryset:
    product.field_name

#27
def discount_20(modeladmin, request, queryset):
        for Product in queryset:
            result = Product.price * 0.8
            queryset.update(price=result)

لقد استخدمت هذه الطريقة لكن لم ينجح الأمر ما المشكلة؟؟

    choice = (name, description % model_format_dict(self.opts))
ValueError: incomplete format

هذه رسالة الخطأ
مع الملاحظة انه حين اضع

actions = [discount_20 , make_price_zero]

يظهر الخطا اعلاه
وحين اضع

actions = ['discount_20' ,' make_price_zero']

يدخل إلى الصفحة لكن لا تظهر ضمن الخانات في الاكشن


#28
discount_20.short_description = "Make selected products is discount 20%"

المشكلة طلعت هنا
لانه لا يجوز استخدام ارقام او اشارات مثل 20%


#29

ايضا هنا يوجد خطأ إذ يجب أن نضع float

result =float(Product.price) * 0.8

#30

لو ممكن مساعدة


#31

متى يظهر لك هذا الخطأ


#32

هنا عند عمل save

https://forums.coretabs.net/uploads/default/original/1X/f8b3ef1bc42ed87456cae35cd50c637a998543cb.png


#33

ماذا تكتبين في الخانتين


#34

Name : Mobile Devices
و slug اتركه فارغ


#35

هل جربت أن تكون الاضافة باستعمال shell
جربي تغيير اسم آخر لـ category
هل سيقوم بالحفظ
تأكدي أنك لم تظيفي Mobile Device من قبل


#36

شكرا على المساعدة لكني اصلحت المشكلة
المشكلة هي اني عندما اضفت الcategory and products
تمت اضافة الكائنات mobile devices w computers لم ارى ذلك فكنت اضيف نفس الشئ مرتين


#37

نعم فال slug is unique=True


#38

هذا الخطأ ارهقني


#39

أعتقد أن المشكلة انحلت لديك بعد إضافة الـ Category Table :wink:


#40

تماماً