[英]How can I iterate over ManyToManyField?
一個簡單的問題,但我找不到答案。
我有一個帶有 ManyToMany 字段的模型:
class Stuff(models.Model):
things = models.ManyToManyField(Thing)
然后在不同的功能中我想這樣做:
myStuff = Stuff.objects.get(id=1)
for t in myStuff.things.all:
# ...
但這給了我:
TypeError: 'instancemethod' object is not iterable
如何迭代 manyToManyField ?
嘗試添加()
all
: myStuff.things.all()
就像 Abid A 已經回答了一樣,您缺少括號 ()
for t in myStuff.things.all():
print t.myStuffs.all()
ManyToManyField 似乎有一種與您的基本 Django 類不同的 Manager。 在這里查看源代碼https://github.com/django/django/blob/master/django/db/models/fields/related_descriptors.py#L821 ,您似乎正在尋找 related_val 字段,該字段似乎包含相關對象引用的元組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.