django 获取外键对应数据的方式

模型 models.py中

from django.db import models


class User(models.Model):

    name = models.CharField()


class OrderInfo(models.Model):

    order_id = models.CharField(max_length=128, primary_key=True)
   #
默认的 在外键所在的表中保存的是对应主表的数据行的id值,该字段名称为模型字段名+ "_id" 这里就是 user_id, django 1.9 后 on_delete参数必不可少

   user = models.ForeignKey(User, on_delete=models.CASCADE)


获取到外键对应数据的方式如下:

视图views.py中

# 先获取到外键所在模型数据表的数据集对象
order = OrderInfo.objects.get(id=2)
# 根据该数据集对象获取外键,返回一个主表的查询集对象, 这样就可以获取到它的字段数据了
obj = order.user
user_name = obj.name

 

posted @ 2018-06-06 23:01  lowmanisbusy  阅读(10600)  评论(0编辑  收藏  举报