У меня есть несколько Customer, которые заказывают Appointment s. Каждый 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')?
Примечание. Я упростил модели; фактическое поле Customer в настоящее время имеет около ~ 10 полей, кроме имени (некоторый свободный текст), поэтому было бы нецелесообразно помещать всю информацию в __unicode__.