有没有办法让一个模型中的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)
如果您必须在指向同一模型的一个型号上使用外键,则必须在相应的内联管理中进行设置fk_name:
class DateInline(admin.TabularInline):
model = DateTimeSheet
fk_name = "date"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2742 次 |
| 最近记录: |