如何将这些Django模型链接在一起?

时间:2012-07-19 23:17:33

标签: django django-models

我试图将我们使用的Excel时间表移动到Django中。我已经掌握了很多基础知识,但却遗漏了一件事。我有大多数低级别模型在工作:

class Employee(models.Model):
    name = models.CharField(max_length=50)    
    def __unicode__(self):
        return self.name

class Client(models.Model):
    name = models.CharField(max_length=50)    
    def __unicode__(self):
        return self.name

class Location(models.Model):
    client = models.ForeignKey(Client)
    name = models.CharField(max_length=50)
    def __unicode__(self):
        return self.name

这部分效果很好,我可以添加一个"客户端"并设置他们的多个位置。现在我试图将所有这些与另一个模型联系起来。

Class WorkEvent(models.Model):
    description = models.CharField(max_length=100)
    startTime = models.DateTimeField('Start Time')

这里我需要将WorkEvent的一个实例绑定到" Employee"的实例。以及"位置"的实例。很多" WorkEvent" s可以指向同一个"员工"或"位置",但每个" WorkEvent"只能拥有其中一个。我不确定如何建立这种关系。

1 个答案:

答案 0 :(得分:3)

如果我理解你在寻找什么,这可能有用(我实际上没有尝试过,可能存在语法或其他问题):

Class WorkEvent(models.Model):
  description = models.CharField(max_length=100)
  startTime = models.DateTimeField('Start Time')
  client = models.ForeignKey(Client)
  employee = models.ForeignKey(Employee)