Необходимо вернуть два значения из одной модели в другую в django

models.py

class Users(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-')
        
        )
    
    
    BILLABLE_and_NON_BILLABLE_CHOICES=(
        
        
        ('Billable','Billable'),
        ('Non-Billable','Non-Billable')
    )



    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)
    billable_and_non_billable=models.CharField(max_length=250,choices=BILLABLE_and_NON_BILLABLE_CHOICES,default='Billable')

    def__str__(self):
       return self.employee_name

модель 2

class Consolidated(models.Model):

emp_name=models.ManyToManyField(Users)
proj_name=models.ManyToManyField(Project)
custom_name=models.ManyToManyField(Client)
Cons_date=models.ManyToManyField(Add_Timelog)
bill_no_bill=models.ManyToManyField

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

Мне нужно вернуть два поля (имя_сотрудника и billable_and_non_billable) из модели "Users" и отобразить значение в модели "Consolidated". Я уже взял имя сотрудника, но застрял на получении другого поля из той же модели.

Сообщение об ошибке: "App.Consolidated.bill_no_bill: (fields.E304) Reverse accessor for 'Consolidated.bill_no_bill' clash with reverse accessor for 'Consolidated.emp_name'. СОВЕТ: Добавьте или измените аргумент related_name в определении для 'Consolidated.bill_no_bill' или 'Consolidated.emp_name'. App.Consolidated.emp_name: (fields.E304) Обратный аксессор для 'Consolidated.emp_name' конфликтует с обратным аксессором для 'Consolidated.bill_no_bill'. СОВЕТ: Добавьте или измените аргумент related_name в определении для 'Consolidated.emp_name' или 'Consolidated.bill_no_bill'."

Помогите, пожалуйста, решить проблему.

Вы можете попробовать следующим образом:

class Consolidated(models.Model):
   emp_name=models.ManyToManyField(Users,related_name="user")
   proj_name=models.ManyToManyField(Project)
   custom_name=models.ManyToManyField(Client)
   Cons_date=models.ManyToManyField(Add_Timelog)
   bill_no_bill=models.ManyToManyField(Users, related_name="bill")

   def __str__(self):
      return str(self.id)
Вернуться на верх