dtjokro
dtjokro

Reputation: 122

Django restricting certain keywords?

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

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

Answers (1)

aumo
aumo

Reputation: 5574

You have a typo in you Photo model, correct itinenary to itinerary.

Upvotes: 3

Related Questions