我是Django的新手所以请原谅Logic或代码中的任何错误。
简介:我正在开展一个项目。用户可以销售活动。示例"蜡烛制作"他们将在活动的详细信息上写一篇帖子,说明你需要做的所有活动。他们还有能力出售"面对面#34;其他用户可以参加的课程,在他们参加课程后,他们可以评定课程。我有一个Url
模型示例:groups
,outdoor
,fitness
用户可以根据活动的类型在任何组中发布他们的music
。
我的问题:如何制作此评级系统我正在尝试实施https://github.com/wildfish/django-star-ratings
我的方法是否正确,我有一个名为posts
的应用:
post.models.py
post
class Post(models.Model):
user = models.ForeignKey(User, related_name='posts')
group = models.ForeignKey(Group, related_name='posts')
title = models.CharField(max_length=250, unique=True)
slug = models.SlugField(allow_unicode=True, unique=True)
message = models.TextField()
模型还有其他字段,如图像,喜欢等,为了简单起见,我在上面的代码中省略了
然后我创建了另一个名为post
的应用程序,用于跟踪用户采用的课程。以下是 alumni.models.py
alumni
*这是否是正确的方法,
*我是否通过创建应用程序"校友"做了正确的事情。或者我应该把它包括在帖子中。
*我是否像上面一样在类class Alumni(models.Model):
user = models.ForeignKey(User, related_name='student')
post = models.ForeignKey(Post, related_name='course')
completed_at = models.DateTimeField(auto_now=True)
reviews = models.CharField(max_length=1000) # The user can leave a review for the course
ratings = (
('1', 'Bad' ),
('2', 'Boring'),
('3', 'Average'),
('4', 'Good'),
('5', 'Great'),
)
score = models.CharField(max_length=1, choices=ratings)
def __str__(self):
return self.user + " has completed" + self.post.title
class Meta:
ordering = ['-completed_at']
中添加了一个名为ratings
的字段。 django-star-ratings的文档对我来说不太清楚