我有几个Customer预定Appointment的人。每个Appointment客户只有一个客户,尽管可以为一位客户预订在不同时间发生的多个约会。
Customer
Appointment
class Customer(model.Model): def __unicode__(self): return u'%s' % (self.name,) name = models.CharField(max_length=30) # and about ten other fields I'd like to see from the admin view. class Appointment(models.Model): datetime = models.DateTimeField() customer = models.ForeignKey("Customer") class Meta: ordering = ('datetime',)
现在,当管理员通过查看管理员中的约会(按时间排序)浏览日程表时,有时他们希望查看有关具有特定约会的客户的信息。现在,他们必须记住客户的姓名,从“约会”导航到“客户”管理页面,找到记住的客户,然后才能浏览其信息。
理想情况下,像管理员内联之类的东西会很棒。但是,如果有,我似乎只能CustomerInline在Appointment管理页面Customer上创建一个ForeignKey("Appointment")。(Django专门给我一个错误,说Customer没有ForeignKey到Appointment)。有谁知道类似的功能,但是什么时候Appointment有ForeignKey('Customer')?
CustomerInline
ForeignKey("Appointment")
ForeignKey
ForeignKey('Customer')
注意:我简化了模型;目前,实际的客户字段除名称(一些自由文本)外还有大约10个字段,因此将所有信息都放在中是不切实际的__unicode__。
__unicode__
从上面完成@John的答案 -定义你希望在更改列表中看到的内容:
return '<a href="%s">%s</a>' % ( reverse('admin:applabel_customer_change', (self.customer.id,)), self.customer.name # add more stuff here )