我有两个型号。我需要从Model2中提取不存在于Model2中的employeeno数据。怎么做?
型号1
class Employee(models.Model):
employeeno = models.CharField(max_length=50, null=False, unique=True)
project = models.ForeignKey(Project, null=False)
days = models.IntegerField('Number of Days', null=False)
模型2
class RemEmployee(models.Model):
employeeno = models.ForeignKey(Employee, null=False, unique=True)
reason= models.CharField(max_length=500, null=False)
答案 0 :(得分:1)
我可以从您的数据模型中了解到,您希望获取那些在RemEmployee表中不作为外键出现的员工对象。
因此,您可以通过以下查询
找到此信息Employee.objects.filter(rememployee__isnull=True).values_list('employeeno', flat=True)
注意:尽管您在RemEmployee中将外键设为唯一,这使得它成为OneToOne键(与问题无关但只是告诉)
答案 1 :(得分:0)
Employee.objects.exclude(employeeno__in=RemEmployee.objects.values_list('employeeno', flat=True))
这将返回Employee
个对象未共享employeeno
的所有RemEmployee
个对象。