首页 > 解决方案 > 正确/更好地实现 Django 中的“Like”模型

问题描述

我目前正在开展一个项目,该项目需要在帖子(由用户提交)上实现一个典型的“喜欢”按钮。

考虑到性能、完整性等各个方面,以下两种实现中的哪一种是更好的选择?

class Post(models.Model):
    .
    .
    likes = models.ManyToManyField(User, blank = True)
    .
    .

或者,

class Like(models.Model):
    user = models.ForeignKey(User, on_delete = models.CASCADE)

    #considering we have a Post model without the above ManyToMany relation
    post = models.ForeignKey(Post, on_delete = models.CASCADE)
    .
    .

标签: djangodjango-modelsforeign-keysrelational-databasemanytomanyfield

解决方案


推荐阅读