我工作的投票系统(投赞成票和反对票)和功能-跟随。 我想把它做好,因为我没有人给我建议,我把帖子和代码放在这里。在
Follow函数-它应该显示有多少追随者和他们是谁。我在这里用了一个m2m关系,中间模型跟随器。 我的问题-这是正确的方法吗-使用m2m和中间模型在这里?在
功能投票增加和投票反对-它应该显示多少票赞成,多少反对,谁投了反对票,谁投了赞成票。 我的问题是,这里是否也可以与m2m和中间模式选民的关系?在
以下功能代码:
class Post(models.Model):
owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='posts')
title = models.CharField(max_length=255, unique=True)
description = models.TextField(max_length=1024)
followers = models.ManyToManyField(settings.AUTH_USER_MODEL, through='Follower', blank=True)
is_visible = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('posts:post_detail', kwargs={'pk': self.pk})
def number_of_followers(self):
return self.followers.count()
class Follower(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
post = models.ForeignKey(Post, on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
def __str__(self):
return self.user
投赞成票和反对票功能的代码:
^{pr2}$现在是工作只遵循功能,但我要确保我的方法是好的。谢谢你的帮助。在
目前,在问题模型上没有区分上下投票的区别,所以这将返回相同的查询。在
作为补充说明,如果您计划将类似的投票/跟随功能添加到其他模型中,可能值得考虑这是否是一个通用关系的好用例。这将产生多态关系,并且是干的。在
这是文件 generic relations
相关问题 更多 >
编程相关推荐