0

首先我想说我是非常初学者。我有两个 django 模型:文章和类别。在第 4 条字段中,在第 2 类字段中。每篇文章都必须分配到类别(如“科学”、“政治”)。文章只有类别 ID,我想从类别表中获取类别名称。示例模型:

楷模:

class Article(models.Model):
    article_id = models.IntegerField(primary_key=True)
    title = models.CharField(max_length=40)
    content = models.CharField(max_length=1000)
    category_id = models.SmallIntegerField()

class Category(models.Model):
    category_id = models.SmallIntegerField(primary_key=True)
    category_name = models.CharField(max_length=40)

意见:

def index(request):
    articles = Article.objects.all()
    return render_to_response('main.html',{'articles':articles}, context_instance=RequestContext(request))

我可以在模板中获取 article_id、title、content 和 category_id,但我不知道如何使用 Article 中的 category_id 从 Category 模型中获取 category_name。可能方法必须写在 Article 类中,然后在模板中使用。请帮忙。

4

1 回答 1

2

你这样做是错的。您应该使用 ForeignKey。

class Article(models.Model):
    category = models.ForeignKey('Category')
    ...

然后,当您拥有 Article 对象时,您可以通过以下方式访问 Category 的属性:

article.category.name
于 2012-06-23T15:49:39.020 回答