Django ';ForwardManyToneDescriptor';对象没有属性';全部的
现在,我遇到了M2O关系的问题:( Model.pyDjango ';ForwardManyToneDescriptor';对象没有属性';全部的,django,django-views,Django,Django Views,现在,我遇到了M2O关系的问题:( Model.py class StorageDoc(models.Model): # tabela dokumentująca ruch na magazynie typeList = ( (' ', " "), ('WZ', "WZ"), ('PZ', "PZ"), ('PM', "PM") ) docType
class StorageDoc(models.Model): # tabela dokumentująca ruch na magazynie
typeList = (
(' ', " "),
('WZ', "WZ"),
('PZ', "PZ"),
('PM', "PM")
)
docType = models.CharField(max_length=10, choices=typeList, default=' ')
storageName = models.ForeignKey(DictStorage, on_delete=models.DO_NOTHING)
createTime = models.DateTimeField(auto_now=True)
orderNumber = models.CharField(max_length=64, blank=True)
class StorageDocPosition(models.Model):
storageDoc = models.ForeignKey(StorageDoc, on_delete=models.DO_NOTHING, related_name="sds")
item = models.ForeignKey(Part, on_delete=models.DO_NOTHING)
volumeUsed = models.IntegerField()
volumeBefore = models.IntegerField()
volumeAfter = models.IntegerField()
views.py
def StorageDocList (request):
s_documents = StorageDocPosition.objects.all().prefetch_related("storageDoc")
for s_document in s_documents:
s_documentP = StorageDocPosition.storageDoc.all()
return render(request, 'StorageDocList.html', {'storageDocAll': s_documents})
my error is:
'ForwardManyToOneDescriptor' object has no attribute 'all'
为什么我不能在这种情况下使用“all”
如何修复它
感谢您的帮助:首先,我并不完全理解您试图对
for
循环执行的操作:
for s_document in s_documents:
s_documentP = StorageDocPosition.storageDoc.all()
除了s_文档中的输入错误,您不会更改变量,您只是修改了一个临时迭代器,原始s_文档仍将保持不变,并且您希望我在上下文中传递与SotrageDocList
函数中的第一行相同的内容
如果您试图实现的是获取所有与预取相关的文档,只需消除for
循环,并将查询集传递到上下文中即可
希望这有帮助