如何使用模态外键

12 浏览
0 Comments

如何使用模态外键

这个问题已经有答案了:

related_name 用于什么?

当我的模型看起来像这样时,我想在不必进入不同页面的情况下显示评论:

class Posts(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    post_name = models.CharField(max_length=150)
    desription = models.CharField(max_length=200)
    image = models.ImageField(upload_to="images/uploads")
    like = models.ManyToManyField(User, related_name="liked", blank=True, default=None)
    like_count = models.BigIntegerField(default=0)
    date_added = models.DateField(auto_now_add=True, blank=True)
    # @property
    # def like_count(self):
    #     return self.like.count()
    def __str__(self):
        return self.desription
    class Meta:
        db_table = "Posts"
        ordering = ["date_added"]
class Comments(models.Model):
    post = models.ForeignKey(Posts, on_delete=models.CASCADE)
    comment = models.CharField(max_length=500)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    date_added = models.DateField(auto_now=True, blank=True)
    class Meta:
        db_table = "Comments"
        ordering = ['date_added']

在索引中使用:

{{post.comment}} ???

admin 更改状态以发布 2023年5月21日
0
0 Comments

使用 ForeignKey.related_name

在相关对象从此对象返回的关系中使用的名称。

示例

class Comments(models.Model):
    post = models.ForeignKey(Posts, related_name="comments", on_delete=models.CASCADE)
    comment = models.CharField(max_length=500)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    date_added = models.DateField(auto_now=True, blank=True)
    class Meta:
        db_table = "Comments"
        ordering = ['date_added']

现在你可以像这样访问特定帖子的评论:

{{post.comments}} 

0