Python Django模型关系
我正在为我的应用程序制作模型,我有一个关于模型之间关系的问题 公司模型有一个或多个办公室。 办公室有一名或多名员工Python Django模型关系,python,django,Python,Django,我正在为我的应用程序制作模型,我有一个关于模型之间关系的问题 公司模型有一个或多个办公室。 办公室有一名或多名员工 class Company(models.Model): name = models.CharField(max_length=50) mail = models.EmailField(null=True, blank=True) NIF = models.CharField(max_length=9, null=True, blan
class Company(models.Model):
name = models.CharField(max_length=50)
mail = models.EmailField(null=True, blank=True)
NIF = models.CharField(max_length=9, null=True, blank=True)
def __unicode__(self):
return self.name
class Office(models.Model):
company = models.ForeignKey(Company)
name = models.CharField(max_length=50, default='Main')
direction = models.CharField(max_length=50)
def __unicode__(self):
return self.name
class Employee(models.Model):
company = models.ForeignKey(Company)
office = models.ForeignKey(Office)
name = models.CharField(max_length=50)
mail = models.EmailField(null=True, blank=True)
def __unicode__(self):
return self.name
如何在员工、公司和办公室之间建立关系?从
员工
中删除公司
外键
class Employee(models.Model):
office = models.ForeignKey(Office)
name = models.CharField(max_length=50)
mail = models.EmailField(null=True, blank=True)
def __unicode__(self):
return self.name
由于办公室
模型已经与公司
建立了关系,员工
与办公室
建立了关系,您可以像员工.Office.Company
一样访问它
employee_one = Employee.objects.get(pk=1)
company_of_employee_one = employee_one.office.company
如果您希望以其他方式访问数据(即获取公司的所有办公室,获取办公室的所有员工),您可以执行以下操作-
company = Company.objects.get(pk=1)
offices = company.office_set.all()
for office in offices:
employees = office.employee_set.all()
你说的“联系”是什么意思?你能详细说明一下吗?在员工、公司和办公室之间建立一种关系。办公室属于一家公司员工属于同一家公司的办公室。