我正试图创建一个循环,将迭代通过所有尺寸的每个产品的类别.
class Category(models.Model):
...
class Product(models.Model):
category = models.ForeignKey(Category, db_column="id", on_delete=models.CASCADE, related_name="products")
...
class Size(models.Model):
product = models.ForeignKey(Product, db_column="id", on_delete=models.CASCADE, related_name="sizes")
...
我的代码在运行
def adjust_sizes(self, category: Category) -> None:
for size in category.products.sizes.all():
# rest of my function
但是当我尝试运行这个函数时,我得到了错误:
*** AttributeError: 'RelatedManager' object has no attribute 'sizes'
我想让它在单循环中运行,有人能帮我吗?
2条答案
按热度按时间cyej8jka1#
您不能在管理器之上访问管理器。在这种情况下,您要做的是反向查询,因此:
然而,使用
db_column='id'
很可能不是一个好主意,因为它可能/将与主键的数据库列冲突。ajsxfq5m2#