使用其他表中的id按ID获取类别名称。 Django的

时间:2012-06-23 15:46:02

标签: python django

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

型号:

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类中编写方法,然后在模板中使用。请帮忙。

1 个答案:

答案 0 :(得分:2)

你做错了。你应该使用ForeignKey。

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

然后,当你有一个Article对象时,你可以这样访问Category的属性:

article.category.name