我正在研究一个需要评分系统的项目,他们可以评估房子的质量。他们会从管理面板中完成它,所以这不是访问者会评价的内容。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文档,但我仍然不确定如何去解决这个问题。
这似乎是应该很容易做的事情,但我不确定从哪里开始。
属性需要从他们的对象进行访问。他们也需要存在。 – 2011-02-10 02:11:07