试图弄清楚为什么在下面调用 each.category_id.all() 不起作用。基本上它没有找到任何 category_ids,但该表已被填充。
我有以下模型/关系:
class GlobalPart (Models.model):
...
category_id=models.ManyToManyField(Category, related_name = 'globalpart')
...
和
class Category (Model.model):
...
category = models.CharField(max_length=250)
...
脚本:
def addcatsfromlist(self):
globalparts = GlobalPart.objects.all()
for each in globalparts:
for catid in each.category_id.all():
print catid
注意:我还尝试打开 django shell 并在其中为 GlobalPart 中的特定条目执行此操作,并且再次显示为空[]
。但是 category_id 肯定有条目,这就是为什么我不明白我做错了什么。
例如:
>>> mypart = GlobalPart.objects.get(pk=1)
>>> print mypart.category_id.all()
[]