Необходимо получить значение Employee_name из модели User в модель Employee

# модель 1

class User(models.Model):
    
    JOINING_ROLES_CHOICES= (
        
        ('sde-intern','SDE Intern'),
        ('sde-trainee','SDE Trainee'),
        ('sde_1','SDE I'),
        ('ui/ux','UI/UX Designer'),
        ('quality-engineer-trainee','Quality Engineer Trainee'),
        ('quality-engineer','Quality Engineer'),
        ('product-manager','Product Manager'),
        ('technical-manager','Technical Manager'),
        ('technical-architect','Technical Architect'),
        ('technical-lead','Technical Lead')
        
    )
    BLOOD_GROUP_CHOICES = (
        ('a+','A+'),
        ('a-','A-'),
        ('b+','B+'),
        ('b-','B-'),
        ('ab+','AB+'),
        ('ab-','AB-'),
        ('o+','O+'),
        ('o-','O-')
        
        )

    employee_name = models.CharField(max_length=210)
    dob=models.DateField(max_length=8) 
    email=models.EmailField(max_length=254,default=None) 
    pancard=models.CharField(max_length=100,default=None)
    aadhar=models.CharField(max_length=100,default=None)
    personal_email_id=models.EmailField(max_length=254,default=None)
    phone = PhoneField(blank=True)
    emergency_contact_no=models.IntegerField(default=None)
    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)
    joining_role=models.CharField(max_length=250,choices=JOINING_ROLES_CHOICES,null=True)
    relieving_role=models.CharField(max_length=250,null=True)
    joining_Date=models.DateTimeField(max_length=8,null=True)
    relieving_Date=models.DateTimeField(max_length=20,null=True)
    

def __str__(self):
    return self.firstname 

#модель 2

class Employeename(models.Model):
    
    employee = models.ForeignKey(User, related_name='employee', on_delete=models.CASCADE)
    employee = models.ManyToManyField(User)

    def __str__(self):
        return self.employee

Мне нужно получить значение employee_name из модели User в модель Employeename. Есть ли способ получить только имя_сотрудника для сотрудника.

пока я пробовал вышеприведенный код, он выдает ошибку, как указано ниже:

TypeError at /admin/App/employee/3/change/ str возвращается нестрока (тип ManyRelatedManager)

Вы возвращаете объект ManyRelatedManager с методом __str__ на Employeename. Преобразуйте его в строку:

def __str__(self):
        return str(self.employee)

Это происходит после удаления одного из двух полей модели с одинаковым именем.

Кроме того, я вижу, что в вашем методе __str__ для вашей модели User вы возвращаете self.firstname, но у модели нет атрибута firstname. Это тоже должно вызывать ошибку. Установите его в существующее, требуемое, строковое поле модели.

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