Необходимо связать пользователя Loggin с моделью User, созданной мной во фреймворке django

Модель пользователя

class User(models.Model):
    
    
    BLOOD_GROUP_CHOICES = (
        
        ('a+','A+'),
        ('a-','A-'),
        ('b+','B+'),
        ('b-','B-'),
        ('ab+','AB+'),
        ('ab-','AB-'),
        ('o+','O+'),
        ('o-','O-')
        
    )
    
    
    BILLABLE_and_NON_BILLABLE_CHOICES=(
        
        
        ('Billable','Billable'),
        ('Non-Billable','Non-Billable')
    )



    employee_name = models.CharField(max_length=50)
    dob=models.DateField(max_length=8) 
    email=models.EmailField(max_length=254,default=None) 
    pancard=models.CharField(max_length=25,default=None)
    aadhar=models.CharField(max_length=20,default=None)
    personal_email_id=models.EmailField(max_length=254,default=None)
    phone = PhoneNumberField()
    emergency_contact_no=models.IntegerField(default=None)
    emergency_contact_name=models.CharField(max_length=100,null=True)
    relation=models.CharField(max_length=25,default=None)
    blood_group=models.CharField(max_length=25,choices=BLOOD_GROUP_CHOICES,null=True)  
    designation=models.ForeignKey(Designation,on_delete=CASCADE,related_name="designation")
    billable_and_non_billable=models.CharField(max_length=25,choices=BILLABLE_and_NON_BILLABLE_CHOICES,default='Billable')
    joining_date=models.DateField(max_length=15,null=True)
    relieving_date=models.DateField(max_length=15,null=True)
    
    class Meta:
        db_table ='User'
        
        
    def __str__(self):
        return self.employee_name

сериализаторы

class UserSerializers(serializers.ModelSerializer):
    
    #Email Notification
    def create(self, validate_data):
        subject = 'Your account was activated'
        plain_message = 'SAMPLE TEXT'
        from_email = 'demomaster147@gmail.com'
        to_email = validate_data['email']
        EmailThread(subject, plain_message, from_email, to_email).start()
        return User.objects.create(**validate_data)
    
    
    dob=DateField(input_formats=DATE_INPUT_FORMATS)
   
    class Meta:
    
        model= User
        fields ='__all__'
       
        password = serializers.CharField(max_length=128, write_only=True, required=True)
      

admin

class StaffAdmin(admin.ModelAdmin):

    def get_queryset(self, request):
        qs = super().get_queryset(request)
        #job = qs.filter(job_name='test job').first()
        #print(f"\nQUERY : {job}\n")
        #print(f"\nQUERY USER : {job.user}\n")

        print(f"\nrequest.user : {request.user}\n")

        if request.user.is_superuser:
            return qs

        return qs.filter(user__id=request.user.id)


#Admin SuperUser
@admin.register(User)

class UserAdmin(ImportExportModelAdmin):
    list_display = ('id','employee_name','email','billable_and_non_billable','designation')
    search_fields = ['employee_name']
    pass

На самом деле с помощью приведенного выше кода я не смог получить данные о зарегистрированном пользователе или только введенные пользователем данные. У меня есть модель пользователя, созданная для добавления деталей пользователя в моем проекте, и она не связана с вошедшим пользователем. Например (если я регистрирую пользователя как "vinoth" с именем пользователя и электронной почтой, и я ввел пользователя с теми же данными в мою вышеупомянутую модель пользователя). Если я войду в систему под именем vinoth, мне нужно соединиться с моделью пользователя, если пользователь vinoth доступен, и мне нужно добавить, просмотреть и удалить данные, введенные этим конкретным пользователем. Я не знаю, как это связать, пожалуйста, помогите решить эту проблему.

Вернуться на верх