اذهب إلى المحتوى

السؤال

نشر (معدل)

مرحبا اقوم بانشاء صفحة شخصية لكل موظف باستخدام 
Django Api لكن لدي مشكلة هو عند تعبئة بيانات الموظف لاتظهر في مربع اختيار user
 اسماء المستخدمين الذي تم انشاء حسابات لهم علما انني استخدم User الذي تم انشاؤه تلقائيا في دجانغو (الصورة للتوضيح)

class Employee(models.Model):
    id = models.IntegerField(primary_key=True)
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    name = models.CharField(max_length=255)
    age = models.IntegerField()
    gender = models.CharField(max_length=255)
    image = models.CharField(max_length=255)
    departmentId = models.ForeignKey('Department', on_delete=models.CASCADE)  
    securityServer = models.ForeignKey('SecurityServer', on_delete=models.CASCADE)


////////////////////////////////
from .serializer import UserSerializer,EmployeeSerializer
from django.db import connections
from rest_framework import serializers
from rest_framework.response import Response

class EmployeeAPIView(APIView):
    permission_classes = [permissions.IsAuthenticated]

    def get(self, request):
        user = self.request.useruser = self.request.user
        employees = Employee.objects.filter(user=user)
        # employees = Employee.objects.all()
        serializer = EmployeeSerializer(employees, many=True)
        return Response(serializer.data)


//////////////////////////////////////

from rest_framework import serializers

class EmployeeSerializer(serializers.ModelSerializer):
    user = serializers.PrimaryKeyRelatedField(queryset=User.objects.all())

    class Meta:
        model = Employee
        fields = '__all__'


class EmployeeAPIView(APIView):
    permission_classes = [permissions.IsAuthenticated]

    def get(self, request):
        
        employees = Employee.objects.all()
        serializer = EmployeeSerializer(employees, many=True)
        return Response(serializer.data)

1.jpg

تم التعديل في بواسطة عمار معلا
تحسين مشاهدة الكود

Recommended Posts

  • 0
نشر

لقد نفذت الكود الخاص بك على جهازي وقمت بإضافة صف خاص بالموظف ثم قمت بإضافة التضمين إلى admin.py وهو يعمل بشكل سليم لذلك يجب عليك أن تقومي بإضافة user من خلال الداش بورد التي قمتي بفتحها
image.thumb.png.7b22116a6ae7154a4076cb2bd2933cda.png
وذلك من خلال النقر على 1 ثم إضافة مستخدم جديد عن طريق 2 ثم عند العودة إلى form يجب ان تجدي هذا المستخدم لإضافته

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...