• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Django的数据模型访问多对多键值的方法

Django的数据模型访问多对多键值的方法

作者:goldensun 字体:[增加 减小] 来源:互联网

goldensun 通过本文主要向大家介绍了django传递数据给js,django数据类型,django 模型,python.django,django教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

这里先来借用一个书本(book)的数据模型作为例子:

from django.db import models

class Publisher(models.Model):
  name = models.CharField(max_length=30)
  address = models.CharField(max_length=50)
  city = models.CharField(max_length=60)
  state_province = models.CharField(max_length=30)
  country = models.CharField(max_length=50)
  website = models.URLField()

  def __unicode__(self):
    return self.name

class Author(models.Model):
  first_name = models.CharField(max_length=30)
  last_name = models.CharField(max_length=40)
  email = models.EmailField()

  def __unicode__(self):
    return u'%s %s' % (self.first_name, self.last_name)

class Book(models.Model):
  title = models.CharField(max_length=100)
  authors = models.ManyToManyField(Author)
  publisher = models.ForeignKey(Publisher)
  publication_date = models.DateField()

  def __unicode__(self):
    return self.title

</div>

 访问多对多值(Many-to-Many Values)

多对多和外键工作方式相同,只不过我们处理的是QuerySet而不是模型实例。 例如,这里是如何查看书籍的作者:

>>> b = Book.objects.get(id=50)
>>> b.authors.all()
[<Author: Adrian Holovaty>, <Author: Jacob Kaplan-Moss>]
>>> b.authors.filter(first_name='Adrian')
[<Author: Adrian Holovaty>]
>>> b.authors.filter(first_name='Adam')
[]

</div>

反向查询也可以。 要查看一个作者的所有书籍,使用author.book_set ,就如这样:

>>> a = Author.objects.get(first_name='Adrian', last_name='Holovaty')
>>> a.book_set.all()
[<Book: The Django Book>, <Book: Adrian's Other Book>]

</div>

这里,就像使用 ForeignKey字段一样,属性名book_set是在数据模型(model)名后追加_set。

</div>

您可能想查找下面的文章:

  • Django接受前端数据的几种方法总结
  • Django返回json数据用法示例
  • Django返回json数据用法示例
  • Django URL传递参数的方法总结
  • Django的数据模型访问多对多键值的方法
  • Django框架中数据的连锁查询和限制返回数据的方法
  • Django中对数据查询结果进行排序的方法

相关文章

  • Python 多线程实例详解
  • Python中类的定义、继承及使用对象实例详解
  • Python 可爱的大小写
  • Python编程判断一个正整数是否为素数的方法
  • Python中使用HTMLParser解析html实例
  • 详解python调度框架APScheduler使用
  • python操作ie登陆土豆网的方法
  • Python部署web开发程序的几种方法
  • Python删除windows垃圾文件的方法
  • Python selenium文件上传方法汇总

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python基础教程之python消息摘要算法使用示例
    • tensorflow实现在函数中用tf.Print输出中间值
    • python实现字符串连接的三种方法及其效率、适用场景详解
    • python处理图片之PIL模块简单使用方法
    • Python 元组(Tuple)操作详解
    • python刷投票的脚本实现代码
    • Python基础之函数用法实例详解
    • python 快速排序代码
    • 跟老齐学Python之用while来循环
    • Python 错误和异常小结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有