I have several Customer
s who book Appointment
s. Each Appointment
has exactly one customer, though a customer can be booked for multiple appointments occurring at different times.
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',)
Now when an admin goes to browse through the schedule by looking at the Appointments (ordered by time) in the admin, sometimes they want to see information about the customer who has a certain appointment. Right now, they'd have to remember the customer's name, navigate from the Appointment to the Customer admin page, find the remembered Customer, and only then could browse their information.
Ideally something like an admin inline would be great. However, I can only seem to make a CustomerInline
on the Appointment
admin page if Customer
had a ForeignKey("Appointment")
. (Django specifically gives me an error saying Customer
has no ForeignKey to Appointment
). Does anyone know of a similar functionality, but when Appointment
has a ForeignKey('Customer')
?
Note: I simplified the models; the actual Customer field currently has about ~10 fields besides the name (some free text), so it would be impractical to put all the information in the __unicode__
.
ModelAdmin.list_display_links
to abstract away the code for your solution. – Hecto