模型指的是同一模型中的另一个类



在我的模型中,我有:

class Department(models.Model):
name = models.CharField(_("Name"),max_length=70, null=False, blank=False)
history = models.TextField(_("History"),max_length=1000, null=True, blank=True, default='No History')
manager = models.ForeignKey(Employee,on_delete=models.SET_NULL, null=True, related_name='manager')
class Employee(models.Model):
GENDER = (('Mr', 'Monsieur'), ('Mme', 'Madame'), ('other', 'OTHER'))
CHOIX_ASSURANCES_COLLECTIVE = (('Individuelle', 'Individuelle'), ('Familiale', 'Familiale'), ('Exemption', 'Exemption'))
emp_id = models.CharField(_("Nethris Number"),max_length=5, default='000')
gender = models.CharField(_("Gender"),choices=GENDER, max_length=10)
first_name = models.CharField(_("First Name"),max_length=50, null=False)
last_name = models.CharField(_("Last Name"),max_length=50, null=False)
date_naissance = models.DateField(_("Born Date"), blank=True, null=True)
date_embauche = models.DateField(_("Hire Date"),blank=True, null=True)
NAS= models.CharField(_("NAS"),max_length=9, null=False,blank=True, )
AssuCollective = models.CharField(_("Collective insurance"),choices=CHOIX_ASSURANCES_COLLECTIVE, max_length=12,blank=True, null=True)
Date_couverture = models.DateField(_("Insurance begin date"),blank=True, null=True)
mobile = models.CharField(_("Mobile"),max_length=15, blank=True, null=True)
email = models.EmailField(_("Email"),max_length=125, null=False, blank=True)
address = models.TextField(_("Address"),max_length=100, default='', blank=True)
emergency = models.CharField(_("Emergency person"),max_length=50, blank=True, null=True)
emploi = models.ForeignKey(Job,on_delete=models.SET_NULL, null=True, blank=True, related_name='Role')
department = models.ForeignKey(Department, on_delete=models.SET_NULL, null=True, blank=True, related_name='Departt')

但是我的Department没有看到Employee

所以我有这个错误:

manager = models.ForeignKey(Employee,on_delete=models.SET_NULL, null=True, related_name='manager')
NameError: name 'Employee' is not defined

我如何解决这个

将模型定义为ForeignKey字段中的字符串,如您在ForeignKey文档中看到的那样

from django.db import models
class Car(models.Model):
manufacturer = models.ForeignKey(
'Manufacturer',
on_delete=models.CASCADE,
)
# ...
class Manufacturer(models.Model):
# ...
pass

相关内容

最新更新