لوحة DevTools
معظم العمليات المتاحة في هذه اللوحة (Create، Update، Delete، Call Method) تكتب مباشرةً في قاعدة البيانات وغير قابلة للتراجع. فقط عملية Search آمنة لأنها للقراءة فقط.
- لا تُجرِ عمليات الكتابة أو الحذف على قاعدة بيانات إنتاجية أبدًا إلا إذا كنت متأكدًا مما تفعله.
- عند الشك، اختبر دائمًا على قاعدة بيانات اختبارية أولًا.
لوحة DevTools هي واجهة اختبار RPC كاملة مدمجة مباشرةً في أدوات المطوّر في متصفحك. تتيح لك الاستعلام عن السجلات، وإنشائها، وتحديثها، وحذفها، واستدعاء methods على أي نموذج Odoo دون مغادرة متصفحك.
فتح اللوحة
- افتح DevTools الخاص بمتصفحك (F12 أو Ctrl+Shift+I / Cmd+Option+I على macOS).
- ابحث عن علامة التبويب Odoo Toolbox في شريط علامات التبويب في DevTools.
- انقر عليها - تفتح اللوحة وتتصل تلقائيًا بصفحة Odoo الحالية.
إذا ظهرت رسالة خطأ، تأكّد من أنك على صفحة Odoo ومتصل بالواجهة الخلفية (backend) وليس بالموقع (website).

الواجهة
تنقسم اللوحة إلى منطقتين رئيسيتين:
- اليسار / الأعلى - منشئ الاستعلام: حيث تهيّئ النموذج، والعملية، والنطاق، والحقول، وحمولة البيانات (payload).
- اليمين / الأسفل - عارض الاستجابة: حيث تُعرض استجابة JSON بعد التنفيذ.

الشريط الجانبي
يحتوي الشريط الجانبي على اليسار على حقول الإدخال المستخدمة لبناء استعلامك. تتغير الحقول المعروضة حسب العملية المحددة (Search، Create، Update، Delete، Call Method). تُعرض جميع الحقول الممكنة في علامة التبويب Search؛ أما العمليات الأخرى فتُظهر الحقول ذات الصلة فقط.
حتى عند وجودك في علامة تبويب غير Search، يمكنك ملء حقول الشريط الجانبي لتشغيل بحث جديد. مفيد إذا أردت تغيير مجموعة السجلات المستهدفة بإجراءك التالي.
النموذج
يتوقع حقل Model اسمًا تقنيًا للنموذج (مثل res.partner، sale.order). يدعم الإكمال التلقائي لمساعدتك في العثور على النموذج الصحيح.
المعرّفات
يتوقع حقل Record IDs مصفوفة JSON من معرّفات السجلات (مثل [1, 2, 3]) أو قائمة مفصولة بفواصل (مثل 1,2,3). يُستخدم لاستهداف سجلات محددة في عمليات التحديث أو الحذف أو استدعاء method.
اختيار الحقول
يحتوي حقل Fields على بحث وقائمة بالحقول المتاحة للنموذج. يُسهّل تقييد الحقول المسترجعة قراءة الاستجابة ويجعل الاستدعاء أسرع.
اترك الحقل فارغًا لإرجاع جميع حقول النموذج.
مرشّحات النطاق
تتبع النطاقات صيغة نطاق Odoo القياسية: مصفوفة JSON من الشروط مدمجة باستخدام عوامل البادئة & (AND، افتراضي) و | (OR).
[
["state", "=", "done"],
["partner_id.country_id.code", "=", "US"]
]
يتحقق النطاق من صحة JSON في الوقت الفعلي ويُبرز أخطاء الصياغة قبل تنفيذ الاستعلام حتى.
استخدم مصفوفة فارغة [] لمطابقة جميع السجلات (يكافي عدم وجود مرشّح).
الترتيب والترقيم
يتيح لك حقل Order By تحديد ترتيب النتائج (مثل name ASC أو create_date DESC). يحتوي على بحث وقائمة بالحقول المتاحة للنموذج.
يحدّ حقل Limit من عدد السجلات المُرجعة، بينما يتخطى حقل Offset عددًا من السجلات (للترقيم).
زر التنفيذ
بعد تهيئة استعلامك، انقر على Execute Query لتشغيله. تظهر الاستجابة في المنطقة اليمنى.
زر Get Current
يزوّد زر Get Current حقول الشريط الجانبي مسبقًا بالقيم من عرض Odoo الحالي. مثلًا، إذا كنت على نموذج شريك (partner form)، سيملأ حقل Model بـ res.partner وحقل Record IDs بمعرّف السجل المعروض. إذا حدّدت سجلات متعددة في عرض القائمة، سيملأ حقل Record IDs بجميع معرّفاتها.
عارض الاستجابة
بعد تنفيذ استدعاء، تُعرض السجل/السجلات المطابقة للمعايير المحددة في منطقة الاستجابة.
- يتيح لك زر Copy نسخ الاستجابة الكاملة إلى الحافظة، بينما يتيح لك Download حفظها كملف JSON.
- تُعرض الأخطاء المُرجعة بواسطة Odoo (مثل حقوق الوصول، الحقول المفقودة) مع رسالتها وتتبعها (traceback).
خيارات العرض
تُعرض الاستجابة افتراضيًا في عرض القائمة. في علامة التبويب Search، يمكنك أيضًا التبديل إلى عرض الجدول عبر زر التبديل في أعلى اليمين.
أزرار إجراءات السجلات
في عرض القائمة، يمتلك كل سجل أزرار إجراءات سريعة للتركيز عليه (focus)، أو فتحه في Odoo، أو فتحه كنافذة منبثقة (popup).
| الأيقونة | الإجراء |
|---|---|
| يركّز على السجل في DevTools - مفيد كنقطة انطلاع لعمليات إضافية (تحديث، حذف، استدعاء method) على ذلك السجل المحدد. | |
| يفتح السجل في Odoo (يستبدل محتوى النافذة الأصلية). | |
| يفتح السجل في نافذة منبثقة Odoo - مفيد لفحص تفاصيل السجل بسرعة دون فقدان سياق عملك الحالي في النافذة الأصلية. |
العمليات
استخدم القائمة العلوية لاختيار ما تريد فعله. تُظهر كل عملية حقول الشريط الجانبي ذات الصلة بها فقط.
Search
العملية الأكثر شيوعًا والعملية الافتراضية. تُرجع قائمة بالسجلات المطابقة للمعايير المحددة (النطاق، النموذج...).
Model · Record IDs · Fields · Domain · Order By · Limit · Offset · Context

Write
تحديث السجلات الموجودة المطابقة للمعايير المحددة.
تُعدّل هذه العملية السجلات الموجودة في قاعدة البيانات. تأكّد من أن المعرّفات التي تقدمها تطابق السجلات التي تنوي تحديثها، وأن القيم صحيحة. إذا لم تكن متأكدًا، اختبر على قاعدة بيانات اختبارية أولًا.
Model · Record IDs · Domain · Context

Create
ينشئ سجلًا بالقيم المحددة ويعرضه بمجرد إنشائه.
تنشئ هذه العملية سجلات جديدة في قاعدة البيانات. تأكّد من أن القيم التي تقدمها صحيحة، وأنك على قاعدة بيانات اختبارية إذا لم تكن متأكدًا.
Model · Context

Call Method
يستدعي أي method عام (public) على نموذج. مفيد لتشغيل منطق الأعمال، أو الـ wizards، أو methods مخصّصة.
Model · Record IDs · Domain · Context

الحذف والأرشفة
يؤرشف (Archive)، أو يلغي الأرشفة (Unarchive)، أو يحذف نهائيًا السجلات المطابقة.
تُعدّل أو تحذف هذه العملية السجلات الموجودة في قاعدة البيانات نهائيًا. تأكّد من أن المعرّفات التي تقدمها تطابق السجلات التي تنوي تعديلها أو حذفها. إذا لم تكن متأكدًا، اختبر على قاعدة بيانات اختبارية أولًا.
Model · Record IDs · Domain · Context

سجل الطلبات
تحتفظ اللوحة بسجل لاستعلاماتك الأخيرة (حتى 150)، يمكن الوصول إليه عبر علامة التبويب History في القائمة العلوية. يمكنك تصفّح تفاصيل كل طلب (النموذج، النطاق، الحمولة، الاستجابة) وإعادة تشغيلها أو نسخها بسهولة.
