django 2个外键从一个型号到另一个型号

Mwr*_*rig 2 python django

有没有办法让一个模型中的2个外键与同一个模型有关.在这个例子中,我希望将Timesheet中的'date'和'supervisor'作为DateTimesheet的外键.我想要完成的是在管理员中使用时间表内联DateTimesheet,并且能够输入一次日期和主管,然后输入多个Timesheets内联,而无需为每个时间表输入日期或主管.

class DateTimesheet(models.Model):
    date = models.DateField()
    supervisor = models.ForeignKey(User)
    class Meta:
        verbose_name = 'Daily Timesheet'
        unique_together = (('date', 'supervisor'),)

    def __unicode__(self):
        return '%s | %s' % self.date.strftime("%A, %B %d.")

class Timesheet(models.Model):
    date = models.ForeignKey(DateTimesheet)
    supervisor = models.ForeignKey(DateTimesheet)
    job = models.ForeignKey(Job)
    phase = models.ForeignKey(Phase)
    equip = models.ForeignKey(Equipment, null=True, blank=True)
    employee = models.ForeignKey(Employee)
    local = models.ForeignKey(Local)
    pay_class = models.ForeignKey(PayClass)
    reg = models.IntegerField(max_length=1)
    ot = models.IntegerField(max_length=2, null=True, blank=True)
    bill_rate = models.DecimalField(decimal_places=2,max_digits=6, blank=True,null=True)
    bill_hours = models.IntegerField(max_length=2,blank=True,null=True,)
Run Code Online (Sandbox Code Playgroud)

Ber*_*ant 8

如果您必须在指向同一模型的一个型号上使用外键,则必须在相应的内联管理中进行设置fk_name:

class DateInline(admin.TabularInline):
    model = DateTimeSheet
    fk_name = "date"
Run Code Online (Sandbox Code Playgroud)