سؤال

ولدي العديد من النماذج وتريد إرجاع مجموعة طلبات البحث من جميع النماذج التي تنتمي إلى العضو لذلك، وأنا أتساءل إذا كان من الممكن العودة واحدة من مجموعة طلبات البحث نماذج متعددة؟

هل كانت مفيدة؟

المحلول

وأنا على افتراض أن تقصد كنت ترغب في إرجاع مجموعة طلبات البحث واحدة من كافة الكائنات التي تنتمي للمستخدم من كل نموذج.

هل تحتاج إلى مجموعة طلبات البحث أو مجرد iterable؟ AFAIK، غير متجانسة في QS ليست ممكنة. ومع ذلك، هل يمكن بسهولة إرجاع قائمة، وهو مكرر بالسلاسل (itertools) أو مولد لتفعل ما تريد. وهذا يفترض أن النماذج الرجوع إلى المستخدم معروفة في وقت مبكر. على افتراض related_name افتراضي، يمكن الوصول إلى سمات مجموعة طلبات البحث ذات الصلة من المثال المستخدم عبر اسم النموذج:

qs = getattr(user, '%s_set' % model_name.lower());

وبطبيعة الحال، وذلك باستخدام أي قائمة غير متجانسة كنت إما تكون قادرة على استخدام حقول أو الأساليب التي تم تعريفها في جميع هذه النماذج، أو عملتم لتحديد نوع كل كائن للقيام بأي نوع إجراءات محددة.

نصائح أخرى

والنماذج الخاصة بك يجب أن يحتوي على حقول العلاقة (ForeigKey وManyToManyField)، مع مجموعة حجة related_name الكلمة. تحقق من وثائق هنا .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top