创建模型时使用外键自动创建模型 - Django

2024-03-03

我正在我的网页上创建评论部分,并希望用户能够对评论投赞成票或反对票。

我的模型是这样的:

class Comment(models.Model):
    owner = models.ForeignKey(User)
    body = models.TextField(null=True, blank=True, max_length=500)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)


class Vote(models.Model):
    comment = models.ForeignKey(Comment)
    upvote = models.SmallIntegerField(null=True, blank=True, default=0)
    downvote = models.SmallIntegerField(null=True, blank=True, default=0)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

当用户发表评论时,我希望它也创建一个链接到该评论的投票模型。

我是 django 和编程的新手,但根据我的理解,我需要创建一个保存挂钩或类似的东西?


您可以覆盖save()的方法Comment模型,即:

class Comment(models.Model):
    ...
    def save(self, **kwargs):
        super(Comment, self).save(**kwargs)
        vote = Vote(comment=self)
        vote.save()

我建议你阅读文档 https://docs.djangoproject.com/en/1.7/ref/models/instances/#what-happens-when-you-save为了获得更好的洞察力。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

创建模型时使用外键自动创建模型 - Django 的相关文章

随机推荐