Django manytomanyfield模型错误AttributeError:“Order”对象没有属性“item\u set”
我的Django车型如下所示:Django manytomanyfield模型错误AttributeError:“Order”对象没有属性“item\u set”,django,loops,model,Django,Loops,Model,我的Django车型如下所示: class Item(models.Model): title = models.TextField() price = models.DecimalField(max_digits=5, decimal_places=2) description = models.TextField() menu = models.ForeignKey('Menu') def __unicode__(self): return self.title cl
class Item(models.Model):
title = models.TextField()
price = models.DecimalField(max_digits=5, decimal_places=2)
description = models.TextField()
menu = models.ForeignKey('Menu')
def __unicode__(self):
return self.title
class Order(models.Model):
item = models.ManyToManyField('Item')
customer = models.ForeignKey('customer.Customer')
bulkOrder = models.ForeignKey('BulkOrder', default=0)
@property
def price(self):
total = 0
for item in self.item.all():
total+=item.price
return total
当我跑步时:
I1 = Item(title="Phad Thai", price=7.3, description="Skinny noddles", menu=M1)
I1.save()
O1 = Order(customer=C1, bulkOrder=B1)
O1.item.add(I1)
O1.save()
O1.price
34 def price(self):
35 total = 0
--->36 for item in self.item.all():
37 total+=item.price
return total
AttributeError: 'Order' object has no attribute 'item_set'
但如果我在壳中这样做:
IN: O1.item.all()
OUT: [<Item: Phad See Ew>, <Item: Phad Thai>]
我看过StackOverflow上的类似示例,但它们都与我的问题略有不同您的代码与错误不匹配。你在哪里运行这个?在python django shell中。我不明白为什么当它明显是self.item.allOkay nvm时,它会显示item_set。我要关闭它,因为我很愚蠢,在编辑错误之前没有关闭python shell。