首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >DJANGO:引用id

DJANGO:引用id
EN

Stack Overflow用户
提问于 2011-05-23 10:55:34
回答 2查看 95关注 0票数 0

这里有一个问题:错误'QuerySet‘对象没有'address’属性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        bdns = Business.objects.filter(name='slow')
        addx = bdns.address
        addr = Address.objects.get(id=addx)

我该怎么办?

我的商业模式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Business(models.Model): 
    phone = PhoneNumberField()
    address = models.ForeignKey(Address)
    name = models.CharField(max_length=64)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-23 11:00:20

查询集是一个集合,即使该集合只包含一个元素。当您执行Model.objects.filter()时,它会返回一个查询集。

如果您想返回单个对象,请使用Model.objects.get()

所以,为了你的目的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bdns = Business.objects.filter(name='slow') # returns a collection
b = dbns[0] # get the first one
the_address = b.address # the address

# or...
try:
    bdns = Business.objects.get(name='slow') # get single instance
except Business.DoesNotExist:
    bdns = None # instance didnt exist, assign None to the variable
except Business.MultipleObjectsReturned:
    bdns = None # the query returned a collection

if bdns is not None:
    the_address = bdns.address

# the_address is an instance of an Address, so no need to do the lookup with the id

print the_address.id # 7
print the_address.street # 17 John St
print the_address.city # Melbourne
票数 3
EN

Stack Overflow用户

发布于 2011-05-23 11:00:48

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    bdns = Business.objects.filter(name='slow')

返回一个QuerySet ( Business对象的集合),您需要迭代以获取每个具有address的元素。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
addr = Address.objects.get(id=addx)

应该行得通

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6096252

复制
相关文章
django raw_id_fields 显示名称而不是id(raw_id_fields: How to show a name instead of id)
为了防止页面加载的时候加载所有的Foreignkey到内存,django提供了一个raw_id_fields,该tupple内的数据将只展示id。虽然内存不加载了,但是基本没法看。不知道是个什么东西。
obaby
2023/02/24
1.9K0
Django—第三方引用
借助富文本编辑器,网站的编辑人员能够像使用offfice一样编写出漂亮的、所见即所得的页面。此处以tinymce为例,其它富文本编辑器的使用也是类似的。
py3study
2020/01/16
1.1K0
Django—第三方引用
Django报错:"Key 'id' not found in 'xxx'. Choices are: xxx"
我在Django的admin.py文件中对某个Models配置了fields字段,导致查看某个具体数据时,提示:Django "Key 'id' not found in 'xxx'. Choices are: xxx"
BigYoung小站
2022/01/20
4010
django 外键引用自身和on_delete参数
案例. 该模型使用外键引用自己本身。 from django.db import models class Category(models.Model): name = models.TextField() parent_cat = models.ForeignKey('self',on_delete=models.CASCADE) on_delete参数如下: CASCADE:级联操作。如果外键对应的那条数据被删除了,那么这条数据也会被删除。 PROTECT:受保护。即只要这条数据引用了
编程黑洞
2023/03/06
1.4K0
Java引用类型:强引用,软引用,弱引用,虚引用
Java中的引用,有点像C++的指针,通过引用,可以对堆中的对象进行操作。 在我们的代码生涯中,大部分使用的都是强引用,所谓强引入,都是形如Object o = new Object()的操作。 强引用具备一下特点:
每天学Java
2020/06/02
2.2K0
【小家java】引用类型(强引用、软引用、弱引用、虚引用)
本文不论述java中值传递和引用传递之间的问题(有需求的可移步理解java中值传递和引用传递),而重点讨论Java中提供了4个级别的引用:强应用、软引用、弱引用和虚引用。这四个引用定义在java.lang.ref的包下。讲述这个话题的原因,也是我第一次在集合框架里看到WeakHashMap而被带进来,闲话不多说,直接进入主题~
YourBatman
2019/09/03
2.1K0
【小家java】引用类型(强引用、软引用、弱引用、虚引用)
Java中弱引用、软引用、虚引用、强引用、 Finalizer引用
在Java层面,一共有四种引用:强引用、软引用、弱引用、虚引用,这几种引用的生命周期由强到弱。转换关系大致如下图所示:
良辰美景TT
2018/12/24
2.1K0
什么是强引用、软引用、弱引用、虚引用?
强引用(StrongReference):一般指的是对像被new出来,强引用一般不会被jvm收回,但会报OutOfMemory(内存不足)。
逍遥壮士
2020/11/24
1.7K0
什么是强引用、软引用、弱引用、虚引用?
Java的强引用、软引用、弱引用、虚引用
工程中用到guava的本地缓存。它底层实现和API接口上使用了强引用、软引用、弱引用。所以温故知新下,也夯实下基础。
静儿
2020/11/24
2.1K0
Java的强引用、软引用、弱引用、虚引用
Java 的强引用、弱引用、软引用、虚引用
而这样 obj对象对后面new Object的一个强引用,只有当obj这个引用被释放之后,对象才会被释放掉,这也是我们经常所用到的编码形式。
lyb-geek
2022/03/09
1.6K0
Java 的强引用、弱引用、软引用、虚引用
强引用、软引用、弱引用、虚引用的对比
从Jdk1.2开始,在java.lang.ref包下就提供了三个类:SoftReference(软引用),PhantomReference(虚引用)和WeakReference(弱引用),它们分别代表了系统对对象的中的三种引用方式:软引用,虚引用以及弱引用。因此java语言对对象的引用有如下四种:
黑洞代码
2021/01/14
2.2K0
强引用、软引用、弱引用、虚引用的对比
Face ID和Touch ID 译文and集成篇Face ID和Touch ID
译文篇: Face ID和Touch ID 尽可能支持生物识别。Face ID和Touch ID是人们信任的安全,熟悉的身份验证方法。如果用户启用了生物认证,您可以假定他们了解其工作原理,欣赏其方便性
GuangdongQi
2018/05/24
3.5K0
Java 的强引用、弱引用、软引用、虚引用
        强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:
爱撸猫的杰
2019/03/28
3.6K0
Java 的强引用、弱引用、软引用、虚引用
【Android 内存优化】Java 引用类型 ( 强引用 | 软引用 | 弱引用 | 虚引用 )
强引用 ( 不回收 ) > 软引用 ( OOM 前回收 ) > 弱引用 ( GC 必回收 ) > 虚引用 ( 回收前通知 )
韩曙亮
2023/03/27
5.3K0
软引用和弱引用的区别_强引用软引用弱引用虚引用的区别
第一次GC的时候,软引用没有被回收,是因为这时候内存资源充足。第二次由于分配了较大的内存,导致GC,这时候由于内存资源紧张,软引用被回收了,也就是虽然User对象有一个软引用在引用着它,但User对象在此条件下也会被GC回收。所以软引用的对象在一定条件下可被回收,故软引用对象不会导致内存溢出。
全栈程序员站长
2022/10/04
1.2K0
蛋白ID转基因ID
将Ensembl 中的蛋白ID转化成基因ID,可以通过clusterProfiler这个包。 如以大鼠的基因与蛋白转化为例; 安装clusterProfiler与大鼠org.Rn.eg.db,如果是人的注释包为org.Hs.eg.db,小鼠的注释包为org.Mm.eg.db.
生信编程日常
2020/12/31
3.6K0
【JVM】如何理解强引用、软引用、弱引用、虚引用?
如果这个对象是偶尔的使用,并且希望在使用时随时就能获取到,但又不想影响此对象的垃圾收集,那么你应该用 Weak Reference 来记住此对象。
用户7353950
2022/05/10
1.2K0
【JVM】如何理解强引用、软引用、弱引用、虚引用?
点击加载更多

相似问题

Django显示引用的名称不是id

26

在django中引用变量表单ID

10

如何让Django引用名称而不是id/pk

218

从Django数据库引用名称,而不是id

11

获取Django对象的唯一引用id

18
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文