上一篇我们学习了一对一关联,今天学习一对一(OneToOneField)关系的查询。
上一篇list_display只显示了当前表的字段信息,如果想显示关联表的字段,需要关联查询。

一对一(OneToOneField)关系

先设计Card和CarInfo表

django框架学习:二十八.django 查询一对一 (OneToOneFiled)

shell模式新增数据

为了调试方便,可以使用django的shell模式,对表的数据增删改查操作,打开cmd,cd到manage.py目录

python manage.py shell

先在Card表新增一条记录:

django框架学习:二十八.django 查询一对一 (OneToOneFiled)

 

 django框架学习:二十八.django 查询一对一 (OneToOneFiled)

 接着在CardInformation表新增一条关联的信息

django框架学习:二十八.django 查询一对一 (OneToOneFiled)

 

 django框架学习:二十八.django 查询一对一 (OneToOneFiled)

正向查询

查询Card表的card_id和card_user,add_time字段值

django框架学习:二十八.django 查询一对一 (OneToOneFiled)

 通过Card表对象c查询关联的CardInformation表里面的字段值(注意关联表小写)

django框架学习:二十八.django 查询一对一 (OneToOneFiled)

 反向查询

如果是以CardInformation表为操作对象,可以查询CardInformation表里面的字段值

django框架学习:二十八.django 查询一对一 (OneToOneFiled)

 也可以通过CardInformation表为对象,查询关联的Card表的值

django框架学习:二十八.django 查询一对一 (OneToOneFiled)

list_display显示关联表字段

上一篇如果想让关联的表字段显示在list_display列表界面,这里就需要自己定义函数,通过表的关联去查询了

django框架学习:二十八.django 查询一对一 (OneToOneFiled) 

启动xadmin后台 管理服务访问:

django框架学习:二十八.django 查询一对一 (OneToOneFiled)