python - 来自不同模型的 Django 模型引用

标签 python django django-models

我正在模型中编写一个方法,并且需要从另一个模型访问属性。

from django.db import models

class Image(models.Model):
    name = models.CharField(max_length=30)
    image = models.ImageField(upload_to = slug_path)


    def __str__(self):
        return "%s %s" % (self.first_name, self.last_name)

    def slug_path(self):
        # Need Article.slug from Article class here for constructing path
        pass

class Article(models.Model):
    headline = models.CharField(max_length=100)
    pub_date = models.DateField()
    reporter = models.ForeignKey(Reporter, on_delete=models.CASCADE)
    slug     = models.SlugField(max_length=50)

    def __str__(self):              
        return self.headline

我想在 Image 类中编写一个方法,该方法可以通过一对多关系访问它所包含的文章的 slug。这是可能的还是我应该采取不同的方式来解决这个问题?

最佳答案

如果只有一张图像可以与一篇文章相关,则需要在图像模型中添加一个字段文章,该字段文章将作为文章模型的外键

article = models.ForeignKey(Article)

现在,

def slug_path(self):
        slug = self.article.slug
        return slug

无论如何,您可以以类似的方式对许多领域等进行操作。

关于python - 来自不同模型的 Django 模型引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37127518/

相关文章:

python - 使用 TCP 套接字传输图像时丢失一像素行

javascript - 显示未评估键的 JSON POST 请求对象

css - 为什么 elastic beanstalk 不为 django 管理站点呈现 css?

django - 在Django queryset过滤器中使用模糊匹配

python - 在 Heroku 上部署时出现 Django 1.7 迁移错误

python - 有什么办法可以恢复到原来的功能吗?

Django 查询以获取用户最喜欢的帖子?

python - django 覆盖模型表单或字段中的默认错误消息

python - django-cms apphook url 不适用于使用 Python shell 的 reverse()

python - Django 注册电子邮件未发送