[英]How to get a variable value of a post in django models ForeignKey?
我创建了两个模型,一个用于发布,另一个用于评论。 我想通过在Comments类中查询forginKey变量来获取str中的帖子标题,甚至可能吗?
我曾尝试使用Comment._meta.get_field('post_id')
但它无法正常工作,并且出现此错误
Exception Value:
must be str, not ForeignKey
我的模特:
class Post(models.Model):
title = models.CharField(max_length=150)
content = models.TextField(blank=True, null=True)
image = models.ImageField(upload_to="media/posts", null=True, blank=True)
def __str__(self):
return self.title
class Comment(models.Model):
post_id = models.ForeignKey("post.Post", on_delete=models.CASCADE)
name = models.CharField(max_length=150)
email = models.EmailField(max_length=254)
content = models.TextField(blank=False, null=False)
def __str__(self):
return self.name + " in post: " + Comment._meta.get_field('post_id')
我想获取网站上发布的每个评论的title值,以在Django admin中显示。
那这个呢?
class Post(Model):
title = CharField(...)
class Comment(Model):
post_id = ForeignKey(Post, ...)
def __str__(self):
return "{} in post: {}".format(self.name, self.post_id.title)
顺便说一句,外键通常不以_id
结尾,因为它表明该字段仅包含对象id的整数,而事实并非如此:可以访问成熟的Post
对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.