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

sna*_*orm 4 django django-models

我要在网页上添加评论部分,并希望用户能够对评论进行增票或减票。

我的模型是这样的:

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)
Run Code Online (Sandbox Code Playgroud)

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

我是django和编程的新手,但据我了解,我需要创建一个save钩子或类似的东西吗?

Sel*_*cuk 6

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

class Comment(models.Model):
    ...
    def save(self, **kwargs):
        super(Comment, self).save(**kwargs)
        vote = Vote(comment=self)
        vote.save()
Run Code Online (Sandbox Code Playgroud)

我建议您阅读文档以获得更好的见解。