是否可以覆盖模型中的值?我得到'MyModel'对象不支持项目分配。
- model.py
class Slider(models.Model):
name = models.CharField(max_length=255)
rows = models.SmallIntegerField(max_length=2)
cat = models.ForeignKey(Products)
order = models.SmallIntegerField()
status = models.BooleanField(default=0)
--- views.py
rows = Slider.objects.all().order_by('order')
for item in rows:
product = Products.objects.filter(cat=item.cat)[:10]
item['product'] = product
print item
异常值:'Slider'对象不支持项目分配
答案 0 :(得分:0)
如果您想在特定product
的数据库中保留Slider
的值,请将ForeignKey
字段添加到Slider
:
class Slider(models.Model):
...
product = models.ForeignKey(Products)
如果您想暂时存储,只需将常规属性添加到Slider
即可保留。
class Slider(models.Model):
...
product = None
在任何一种情况下,您都可以这样设置:
rows = Slider.objects.all().order_by('order')
for item in rows:
item.product = ...
如果您愿意,可以完全省略属性声明,但这意味着如果您去检查item.product,而没有先设置它,您将获得AttributeError
。