Python中文
首页
教程
问答
标签
搜索
登录
注册
Python获取GenericRelation对象
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有以下代码:</p> <p><strong>数据/电话.py</strong>:</p> <pre><code>class TelephoneNumber(models.Model): MOBILE = 0 HOME = 1 TELEFON_CHOICES = ( (MOBILE, _("Mobile")), (HOME, _("Landline")), ) object_id = models.PositiveIntegerField() content_type = models.ForeignKey(ContentType) of = generic.GenericForeignKey('content_type', 'object_id' ) label = models.SmallIntegerField(choices=TELEFON_CHOICES) number = models.CharField(max_length=20, blank=True) </code></pre> <p><strong>模型.py</strong>:</p> ^{pr2}$ <p>不,我想提供这样一个功能来检索用户的每个电话号码:</p> <pre><code>def get_telnumbers(self): tellist = [] #print(self.telephonenumbers.all()) for tel in self.telephonenumbers.all(): tellist.append(tel) return tellist </code></pre> <p>问题是,线路<code>print(self.telephonenumbers.all())</code>不打印任何电话号码,即使已经提供了很多电话号码。 返回的dict也是空的。在</p> <p>如何访问保存在<code>Staff</code>上下文中的GenericRelation对象?在</p> <p><strong>编辑:</strong></p> <p>以下代码:</p> <pre><code>for tel in TelephoneNumber.objects.all(): print(tel) print(tel.of) </code></pre> <p>给我保存的每个电话号码,并通过<code>tel.of</code>找到电话号码所属的正确员工用户。在</p> <p>那么,为什么<code>self.telephonenumbers.all()</code>不能正常工作(<code>self.user</code>还返回应该为其保存电话号码的正确用户)?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>确保在创建新的<code>TelephoneNumber</code>对象时,提供<code>content_object</code>属性作为相应的<code>Staff</code>对象</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
使用登录请求.post导致“错误405不允许”
1 回答
使用登录进行Python web抓取
4 回答
使用登录进行抓取
9 回答
使用登录页面从网站抓取数据
1 回答
使用白色圆圈背景使图像更平滑
5 回答
使用百分位数删除Pandas数据帧中的异常值
7 回答
使用百分号进行Python字典操作
4 回答
使用百分比delimi的Python字符串模板
4 回答
使用百分比分割Numpy ndarray最有效的方法是什么?
1 回答
使用百分比分配和修改变量(计算)
9 回答
使用百分比单位绘制数据
2 回答
使用百分比在单个采购订单中组合不同的订单类型
7 回答
使用百分比将数据帧的子集与完整数据帧进行比较
4 回答
使用百分比形式的BBOX选项,而不是绝对像素PyScreenShot Python
6 回答
使用百分比登录列nam更新表
9 回答
使用百分比登录操作系统或者os.popen公司
1 回答
使用百分比计算:十进制还是可读?
9 回答
使用的dataset和dataloader加载数据时出错torch.utils.data公司. TypeError:类型为“type”的对象没有len()
4 回答
使用的Json无效json.dump文件在Python3
10 回答
使用的overwrite方法\r在python 3[PyCharm]中不起作用
9 回答