我应该在哪个模型中包含获得特定工作的劳工的批准状态?

0g0grzrc  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(162)

因此,我创建了两个模型,即jobmodel和labourmodel,我使用了它们之间的多对多关系,因为一个劳动力可以申请多个工作,并且可以有多个劳动力申请一个工作。现在我想添加一个功能,其中jobcreator可以接受/拒绝申请该特定工作的特定劳工,然后劳工应该能够看到有关批准的状态。我很困惑,我该如何对此建立一个模型。这是我目前的模型

from django.db import models
from django.contrib.auth.models import User
from django.urls import reverse_lazy, reverse

# Create your models here.

class UserModel(models.Model):
    user = models.OneToOneField(User,related_name = 'user_profile',on_delete=models.CASCADE)
    CATEGORY_CHOICES = (('Labour','Labour'),('Owner','Owner'))
    category = models.CharField(max_length=100,choices=CATEGORY_CHOICES,default='NA')
    is_Labour = models.BooleanField(default=False)
    is_Owner = models.BooleanField(default=False)

    def __str__(self):
        return self.user.username
    def get_absolute_url(self):
                return reverse("basic_app:landing")

class JobModel(models.Model):
    user = 
    models.ForeignKey(UserModel,related_name='assigned_job',null=True,on_delete=models.CASCADE)
    title = models.CharField(max_length=255,null=True)
    description = models.CharField(max_length=500,null=True)

    def __str__(self):
        return self.user.user.username
    def get_absolute_url(self):
            return reverse("basic_app:landing")

class LabourModel(models.Model):
    user = models.OneToOneField(UserModel,related_name = 
    'assigned_labour',null=True,on_delete=models.CASCADE)
    registered = models.BooleanField(default=False)
    job_add = models.ManyToManyField(JobModel,related_name = 'labours')
    def __str__(self):
        return self.user.user.username
    def get_absolute_url(self):
            return reverse("basic_app:landing")
3qpi33ja

3qpi33ja1#

创建多个多对多字段,每个状态一个字段。在这种情况下,请考虑:
中立的
认可的。
针对流程的每个所需状态拒绝一个。默认情况下,所有劳动者都处于中立状态。当雇主将其状态更改为“已接受”或“已拒绝”时,将其从中立位置移除,并将其放置在相应字段中。由于django中的多对多字段在默认情况下是对称的,因此您可以从任何模型调用它来检查不同作业的状态。

相关问题