我在Django中遇到了很多关于'self‘的问题:
我的模型:
class EcomProduct(models.Model):
products = models.ManyToManyField('self', through='EcomProductToProduct', symmetrical=False),
class EcomProductToProduct(models.Model):
from_ecom_product = models.ForeignKey(EcomProduct,related_name='from_ecomproduct')
to_ecom_product = models.ForeignKey(EcomProduct,related_name='to_ecomproduct')
class Meta:
db_table = u'ecom_product_to_product'现在在views.py中,我需要获取与特定产品相关的所有产品:
def show_product(request, ecomproduct_slug, template_name="catalog/product.html"):
p = get_object_or_404(EcomProduct, slug=ecomproduct_slug)
related_products_to_product = p.products.all() #it doesn't work 我收到一条消息:
Exception Value: 'tuple' object has no attribute 'all'我不知道如何修复它。问题是如何将所有相关产品与特定产品联系起来?提前感谢您的帮助。
发布于 2011-08-01 23:17:16
在EcomProduct模型定义中,programs声明后有一个逗号。这会把它变成一个元组,这是你肯定不想要的。
https://stackoverflow.com/questions/6900079
复制相似问题