Я работаю над проектом, которому нужна система рейтингов, где они могут оценивать качество домов. Они будут делать это с панели администратора, так что это не то, что посетитель будет оценивать.Система оценок Django
Например, для каждого списка, они могут оценить его от 1-5 звезд: Адреса: номера: вариантов Питания: Сообщества: Всего:
В моем файле models.py, у меня есть эта настройка:
Class Listing (models.Model):
...
RATING_CHOICES = (
(1, 1),
(2, 2),
(3, 3),
(4, 4),
(5, 5),
)
location_rating = models.DecimalField(choices = RATING_CHOICES, max_digits=3, decimal_places=2)
room_rating = models.DecimalField(choices = RATING_CHOICES, max_digits=3, decimal_places=2)
dining_options_rating = models.DecimalField(choices = RATING_CHOICES, max_digits=3, decimal_places=2)
community_rating = models.DecimalField(choices = RATING_CHOICES, max_digits=3, decimal_places=2)
recreation_rooms_rating = models.DecimalField(choices = RATING_CHOICES, max_digits=3, decimal_places=2)
def __unicode__(self):
return self.name
def get_avg_rating(self):
avg_rating = (self.location_rating + self.room_rating + self.recreation_rooms_rating + self.dining_options_rating + self.community_rating)/5
return avg_rating
Я планирую отображать рейтинги с помощью небольшого CSS. Просто установка room_rating или avg_rating в теге шаблона не работает, поэтому я предполагаю, что мне придется добавить некоторые строки кода в views.py. Я проверил документы Django, но я до сих пор не знаю, как это сделать.
Это похоже на то, что должно быть легко сделать, но я не уверен, с чего начать.
Атрибуты объекта должны быть доступны из объекта они на. Они также должны существовать. –