2015-04-23 3 views
0

Я попал в эту проблему, что не могу как-то решить.Django ограничение определенных ключевых слов?

Так я бегу на Django 1.7.7 с двумя приложениями, модели следующим образом

  • order.Order
  • order.OrderItinerary (M2M через таблицу)

  • itinerary.Itinerary

  • itinerary.Photo

Проблема заключается в том, что когда я использую внешний ключ внутри OrderItinerary, который указывает на модель маршрута, он работает. Но когда внешний ключ из фотографии указывает на Маршрут модели она поднимает мне эту ошибку

<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'. 

я просто не понимаю, как две различные модели, указывающие на ту же модель может дать мне разные результаты

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') 

Вторая модель

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') 

Третья модель

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") 

Четвертая модель

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") 
+0

Можете ли вы предоставить свои модели и файлы администратора? –

+0

Обратите внимание, что GenericModel является абстрактной моделью, содержащей date_created и date_modified. – dtjokro

ответ

3

У вас есть опечатка в вас Photo модель, правильно itinenary к itinerary.

+0

aw спасибо, человек не понимал этого. – dtjokro

Смежные вопросы