【发布时间】:2018-01-30 23:05:50
【问题描述】:
我想统计模型对象的投票。我认为有两种方法可以做到这一点:
方法 1
class Question(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
vote_count = models.IntegerField()
然后获取模型,更新计数,然后重新保存模型。
或者:
方法 2
class Vote(models.Model):
user = models.ForeignKey(User,on_delete=models.CASCADE)
class Question(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
votes = models.ManyToManyField(Vote,related_name='questions')
通过这种方式,我可以添加投票,然后在需要摘要时统计所有投票。
我想做一些事情,比如按最多票排序和其他求和操作。
从数据库成本和未来可扩展性的角度来看,哪种方法最有效?
【问题讨论】:
标签: python mysql django oop entity-relationship