Python 如何将任务分配给员工?

Python 如何将任务分配给员工?,python,django,Python,Django,我正在开发一个人力资源任务管理系统,员工可以将任务分配给其他员工。 我能做的是在表单中创建两个字段。一个字段名为ASSIGNED TO,另一个字段名为ASSIGNED BY 我想要什么 如果我将任务分配给另一名员工,该员工应该能够知道谁将任务分配给了他,而无需我在表单中指明或使用名为assigned to的字段 我到目前为止所做的事情 我不知道如何欣赏风景 class Profile(models.Model): user = models.OneToOneField(User

我正在开发一个人力资源任务管理系统,员工可以将任务分配给其他员工。
我能做的是在表单中创建两个字段。一个字段名为ASSIGNED TO,另一个字段名为ASSIGNED BY

  • 我想要什么
如果我将任务分配给另一名员工,该员工应该能够知道谁将任务分配给了他,而无需我在表单中指明或使用名为assigned to的字段

  • 我到目前为止所做的事情
我不知道如何欣赏风景


class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True)
    # avatar = models.ImageField(upload_to='Avatars', null=True, blank=True)
    # user_type = models.CharField(max_length=10, choices=user_type, default='manager', null=True, blank=True)
    avatar = models.ImageField(upload_to="avatars", null=True, blank=True, default='default.jpg')
    # organisation = models.ForeignKey('Organisation', on_delete=models.RESTRICT, null=True, blank=True)
    # department = models.ForeignKey('Department', on_delete=models.CASCADE, null=True, blank=True)
    first_name = models.CharField(max_length=100, blank=True)
    last_name = models.CharField(max_length=100, blank=True)
    street_address = models.TextField(max_length=200, null=True, blank=True)
    appartment_unit = models.CharField(max_length=100, null=True, blank=True)
    city = models.CharField(max_length=100, null=True, blank=True)
    state = models.CharField(max_length=100, null=True, blank=True)
    zip_code = models.CharField(max_length=100, null=True, blank=True)
    email = models.EmailField(max_length=40, null=True, blank=True)
    #state_of_birth = models.CharField(max_length=100, null=True, blank=True)
    date_of_birth = models.CharField(max_length=100, null=True, blank=True)
    marital_status = models.CharField(max_length=100, null=True, blank=True)
    # spouses_name = models.CharField(max_length=100, null=True, blank=True)
    # spouses_employer = models.CharField(max_length=100, null=True, blank=True)
    # spouses_work_phone = models.CharField(max_length=100, null=True, blank=True)
    home_phone = models.CharField(max_length=100, null=True, blank=True)
    alternate_phone = models.CharField(max_length=100, null=True, blank=True)
    name_of_pfa = models.CharField(max_length=20, null=True, blank=True)
    pension_pin_number = models.CharField(max_length=20, null=True, blank=True)
    cell_phone = models.CharField(max_length=20, blank=True, null=True)
    address_as = models.CharField(max_length=20, null=True, blank=True)
    next_of_kin_image = models.ImageField(null=True, blank=True)
    next_of_kin_last_name = models.CharField(max_length=20, null=True, blank=True)
    next_of_kin_first_name = models.CharField(max_length=20, null=True, blank=True)
    next_of_kin_middle_name = models.CharField(max_length=20, null=True, blank=True)
    next_of_kin_street_address = models.TextField(max_length=20, null=True, blank=True)
    next_of_kin_apartment_number = models.CharField(max_length=20, null=True, blank=True)
    next_of_kin_city = models.CharField(max_length=20, null=True, blank=True)
    next_of_kin_state = models.CharField(max_length=20, null=True, blank=True)
    next_of_kin_zip_code = models.CharField(max_length=20, null=True, blank=True)
    next_of_kin_email = models.EmailField(max_length=20, null=True, blank=True)
    next_of_kin_relationship = models.CharField(max_length=20, null=True, blank=True)
    next_of_kin_primary_phone = models.CharField(max_length=20, null=True, blank=True)
    next_of_kin_alternate_phone = models.EmailField(max_length=20, null=True, blank=True)
    bank_name = models.CharField(max_length=20, null=True, blank=True)
    bank_account_number = models.CharField(max_length=20, null=True, blank=True)
    first_qualification = models.CharField(max_length=20, null=True, blank=True)
    first_institution = models.CharField(max_length=20, null=True, blank=True)
    first_year_completed = models.CharField(max_length=20, null=True, blank=True)
    second_qualification = models.CharField(max_length=20, null=True, blank=True)
    second_institution = models.CharField(max_length=20, null=True, blank=True)
    second_year_completed = models.CharField(max_length=20, null=True, blank=True)
    third_qualification = models.CharField(max_length=20, null=True, blank=True)
    third_institution = models.CharField(max_length=20, null=True, blank=True)
    third_year_completed = models.CharField(max_length=20, null=True, blank=True)
    fourth_qualification = models.CharField(max_length=20, null=True, blank=True)
    fourth_institution = models.CharField(max_length=20, null=True, blank=True)
    fourth_year_completed = models.CharField(max_length=20, null=True, blank=True)
    court_judgement = models.TextField(max_length=20, null=True, blank=True)
    administrative_indictment = models.TextField(max_length=20, null=True, blank=True)
    criminal_conviction = models.TextField(max_length=20, null=True, blank=True)
    fathers_last_name = models.CharField(max_length=20, null=True, blank=True)
    fathers_first_name = models.CharField(max_length=20, null=True, blank=True)
    fathers_middle_name = models.CharField(max_length=20, null=True, blank=True)
    fathers_permanent_street_address = models.TextField(max_length=200, null=True, blank=True)
    fathers_apartment_number = models.CharField(max_length=20, null=True, blank=True)
    fathers_city = models.CharField(max_length=20, null=True, blank=True)
    fathers_state = models.CharField(max_length=20, null=True, blank=True)
    fathers_zip_code = models.CharField(max_length=20, null=True, blank=True)
    fathers_home_phone = models.CharField(max_length=20, null=True, blank=True)
    fathers_alternate_phone = models.CharField(max_length=20, null=True, blank=True)
    fathers_email = models.EmailField(max_length=20, null=True, blank=True)
    mothers_last_name = models.CharField(max_length=20, null=True, blank=True)
    mothers_first_name = models.CharField(max_length=20, null=True, blank=True)
    mothers_middle_name = models.CharField(max_length=20, null=True, blank=True)
    mothers_permanent_street_address = models.TextField(max_length=200, null=True, blank=True)
    mothers_apartment_number = models.CharField(max_length=20, null=True, blank=True)
    mothers_city = models.CharField(max_length=20, null=True, blank=True)
    mothers_state = models.CharField(max_length=20, null=True, blank=True)
    mothers_zip_code = models.CharField(max_length=20, null=True, blank=True)
    mothers_home_phone = models.CharField(max_length=20, null=True, blank=True)
    mothers_alternate_phone = models.CharField(max_length=20, null=True, blank=True)
    mothers_email = models.EmailField(max_length=20, null=True, blank=True)

   
    def __str__(self):
        return self.user.username



class User(AbstractUser):
    organisation = models.ForeignKey(Organisation, on_delete=models.PROTECT, null=True, blank=True)
    created_at = models.DateTimeField(auto_now=True)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    is_master = models.BooleanField(default=False)
    middle_name = models.CharField(max_length=100, null=True, blank=True)
    role = models.CharField(max_length=100, null=True, blank=True)
    cell_phone = models.CharField(max_length=20, blank=True, null=True)
    employee_id = models.CharField(max_length=200, null=True, blank=True)
    email = models.EmailField()
    date_of_birth = models.CharField(max_length=100, null=True, blank=True)
    department = models.CharField(max_length=200, null=True, blank=True)
    supervisor = models.CharField(max_length=200, null=True, blank=True)
    work_email = models.EmailField(null=True, blank=True)
    work_phone = models.CharField(max_length=20, blank=True)
    start_date = models.CharField(max_length=20, blank=True)
    salary = models.CharField(max_length=20, blank=True)
    

    def __str__(self):
        return f"{self.first_name}, {self.last_name}"