django orm 通过related_name反向查询的方法

yipeiwu_com5年前Python基础

如下所示:

class level(models.Model):
 l_name = models.CharField(max_length=50,verbose_name="等级名称")
 def __str__(self):
  return self.l_name
 
 
class userinfo(models.Model):
 u_name = models.CharField(max_length=50,verbose_name="用户名称")
 u_level = models.ForeignKey(level,related_name="lev")
 
 def __str__(self):
  return self.u_name

如上表模型,从用户信息查询用户等级为正向查询,从等级查询用户信息为反向查询。

正向查询:

userinfo.object.get(pk=1).u_level

反向查询:

level.objects.get(pk=1).lev.all()

以上这篇django orm 通过related_name反向查询的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中web框架的自定义创建

一、什么是框架 框架的本质就是一个socket服务,可以完成不同主机之间的通信。它是一个半成品的项目,其中可能已经封装好了基本的功能,比如路由,模型,模板,视图功能都已完善,又可能它只封...

Python运算符重载用法实例

本文实例讲述了Python运算符重载用法。分享给大家供大家参考。具体分析如下: python中,我们在定义类的时候,可以通过实现一些函数来实现重载运算符。 例子如下: # -*- c...

Tensorflow使用tfrecord输入数据格式

Tensorflow 提供了一种统一的格式来存储数据,这个格式就是TFRecord,上一篇文章中所提到的方法当数据的来源更复杂,每个样例中的信息更丰富的时候就很难有效的记录输入数据中的信...

利用python实现简单的循环购物车功能示例代码

本文主要给大家介绍了关于python实现循环购物车功能的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 示例代码 # -*- coding: utf-8 -*- __a...

Python的动态重新封装的教程

让我们描绘一下本文的情节:假设您要在本地机器上运行一个进程,而部分程序逻辑却在另一处。让我们特别假设这个程序逻辑会不时更新, 而您运行进程时,希望使用最新的程序逻辑。有许多方法可以满足刚...