django - 无法从 django 中的选定类别中获取项目
问题描述
我想获取相关子类别的项目,但我无法从该子类别中获取项目,它向我显示错误
AttributeError:“子类别”对象没有属性“项目”
所以这是我的代码
我的模型
class Subcategories(models.Model):
categories = models.ForeignKey(Categories, on_delete=models.CASCADE, related_name='our_categories')
name = models.CharField(max_length=200, blank=False)
joined_date = models.DateTimeField(default=timezone.now,editable=False)
update_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
class Item(models.Model):
categories = models.ForeignKey(Categories, on_delete=models.CASCADE,)
subcategories = models.ForeignKey(Subcategories, on_delete=models.CASCADE, related_name='products')
can_buy = models.ForeignKey(For, on_delete=models.CASCADE,)
name = models.CharField(max_length=200, blank=False)
contain_size = models.CharField(max_length=10, blank=True)
first = models.ImageField(upload_to='items', blank=False)
second = models.ImageField(upload_to='items', blank=True)
third = models.ImageField(upload_to='items', blank=True)
fourth = models.ImageField(upload_to='items', blank=True)
fifth = models.ImageField(upload_to='items', blank=True)
item_vedio = models.FileField(upload_to='item_vedio', blank=True)
offered_price = models.FloatField(blank=False,)
actual_price = models.FloatField(blank=False)
about = models.TextField(blank=False, default="about" )
offer = models.CharField(max_length=4, blank=True)
def __str__(self):
return self.name
我的网址.py
urlpatterns = [
path('<int:subcategory_id>/products/',Product.as_view(),name='product' ),
]
我的意见.py
class Product(View):
def get(self, request,):
category_list = Categories.objects.all()
return render (request, 'products.html', {'category_list': category_list })
def get(self, request, subcategory_id):
subcategory = get_object_or_404(Subcategories, pk=subcategory_id)
products = subcategory.item.all()
return render (request, 'products.html',{"subcategory_list" : products })
知道是什么导致了问题,感谢您抽出宝贵时间
解决方案
相关名称是项目模型products
中的subcategories
外键。
subcategory.products.all()
推荐阅读
- vba - 运行时错误 '3075' - 查询表达式中的语法错误(缺少运算符)
- android - 避免使用创建未使用的类实例的 Dagger 组件
- mysql - 如何在 Laravel 中导出 PDF 文件
- office-js - Word.DocumentProperties.security 是什么意思?
- perl - perl dbi 准备变量表列名
- php - 如何在数组中添加条件
- python - 列表重叠查找器
- android - DatePickerDialog 月份名称显示 M+0+月份数
- scala - 使用 spark 用下一行值填充 null 或空
- c# - 如何将列表框中所选项目的颜色更改为特定的 ARGB 值?