我可以在不访问Django中的数据库的情况下获取相关对象的ID

时间:2012-08-15 01:12:44

标签: django

如果我有一个对象的实例,我是否可以在不需要访问数据库的情况下获取相关对象的ID?该值必须存放在某处。

例如

book = Book.objects.get(id=1)
book.author.id

1 个答案:

答案 0 :(得分:3)

Django使用字段名称自动为对象的id创建一个字段,并用_id作为后缀,例如:

book.author_id == book.author.id

django的文档中没有很好的文档,但有两篇关于此事的博客文章可供参考:

http://www.yilmazhuseyin.com/blog/dev/django-orm-performance-tips-part-2/ http://thebuild.com/blog/2010/12/22/getting-the-id-of-related-objects-in-django/