因此,我创建了两个模型,即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")
1条答案
按热度按时间3qpi33ja1#
创建多个多对多字段,每个状态一个字段。在这种情况下,请考虑:
中立的
认可的。
针对流程的每个所需状态拒绝一个。默认情况下,所有劳动者都处于中立状态。当雇主将其状态更改为“已接受”或“已拒绝”时,将其从中立位置移除,并将其放置在相应字段中。由于django中的多对多字段在默认情况下是对称的,因此您可以从任何模型调用它来检查不同作业的状态。