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