محمد لارافيل نشر 15 فبراير 2023 أرسل تقرير نشر 15 فبراير 2023 أنا أستخدم إطار عمل rest مع ModelViewSet class DrawingViewSet(viewsets.ModelViewSet): queryset = m.Drawing.objects.all() serializer_class = s.DrawingSerializer filterset_fields = ['user'] def list(self, request): queryset = m.Drawing.objects.all() serializer = s.DrawingSerializer(queryset, many=True) return Response(serializer.data) باستخدام هذا الكود ، يمكنني استخدام filter مثل /?user=1 ولكن ليس دائما القيمة تساوي 1, كيف يمكنني الحصول على بيانات المصادقة في القائمة؟ اقتباس
0 Muhammad Nasser2 نشر 16 فبراير 2023 أرسل تقرير نشر 16 فبراير 2023 يمكنك الحصول على بيانات المصادقة في طريقة list باستخدام request.user للوصول إلى معلومات المستخدم المصادق. يمكنك استخدام هذه المعلومات في إنشاء الاستعلام لاسترداد الرسومات التي يملكها المستخدم. يمكنك تحديد المستخدم باستخدام filterset_fields كما هو موضح في الكود الذي قمت بتقديمه. مثال على كيفية استخدام request.user في القائمة: class DrawingViewSet(viewsets.ModelViewSet): queryset = m.Drawing.objects.all() serializer_class = s.DrawingSerializer filterset_fields = ['user'] def list(self, request): queryset = m.Drawing.objects.filter(user=request.user) serializer = s.DrawingSerializer(queryset, many=True) return Response(serializer.data) في هذا المثال، ستتم فلترة الرسومات التي يملكها المستخدم المصادق عن طريق استخدام request.user وإرجاع النتائج باستخدام serializer. اقتباس
السؤال
محمد لارافيل
أنا أستخدم إطار عمل rest مع ModelViewSet
class DrawingViewSet(viewsets.ModelViewSet): queryset = m.Drawing.objects.all() serializer_class = s.DrawingSerializer filterset_fields = ['user'] def list(self, request): queryset = m.Drawing.objects.all() serializer = s.DrawingSerializer(queryset, many=True) return Response(serializer.data)
باستخدام هذا الكود ، يمكنني استخدام filter مثل
/?user=1
ولكن ليس دائما القيمة تساوي 1, كيف يمكنني الحصول على بيانات المصادقة في القائمة؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.