我正在模型中编写一个方法,并且需要从另一个模型访问属性。
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/