Reputation: 122
I got into this issue that i'm unable to resolve somehow.
So i'm running on Django 1.7.7 with two apps, models as follows
order.OrderItinerary (m2m through table)
itinerary.Itinerary
The problem here is that when i use foreign key inside OrderItinerary that points to Itinerary model, it works. But when foreign key from Photo points to Itinerary model it raises me this error
<class 'itinerary.admin.ItineraryPhotoAdmin'>: (admin.E108) The value of 'list_display[1]' refers to 'itinerary', which is not a callable, an attribute of 'ItineraryPhotoAdmin', or an attribute or method on 'itinerary.Photo'.
i just don't get how two distinct models pointing to the same model could give me different results
class Order(GenericModel):
def __str__(self):
return "%s" %(self.title)
title = models.CharField(max_length=64)
description = models.TextField(blank=True)
order_number= models.CharField(max_length=64, unique=True, blank=True, default='')
itineraries = models.ManyToManyField('itinerary.Itinerary', through='order.OrderItinerary')
Second Model
class OrderItinerary(GenericModel):
title = models.CharField(max_length=64)
description = models.TextField(blank=True)
rating = models.FloatField(blank=True)
order = models.ForeignKey('order.Order')
itinerary = models.ForeignKey('itinerary.Itinerary')
Third Model
class Itinerary(GenericModel):
uuid = models.CharField(max_length=128, default=generate_uuid)
title = models.CharField(max_length=64)
description = models.TextField(blank=True)
price = models.DecimalField(blank=True, null=True, decimal_places=2, max_digits=5)
total_rating= models.FloatField(default=0)
rating_num = models.IntegerField(default=0, verbose_name="number of customers rated")
Fourth Model
class Photo(GenericModel):
caption = models.CharField(max_length=254, default='', blank=True)
photo = models.ImageField(upload_to=generate_photo_name)
itinenary = models.ForeignKey('itinerary.Itinerary', related_name="itinerary_photo")
Upvotes: 0
Views: 50