【发布时间】:2018-11-23 18:34:11
【问题描述】:
正如问题 4 所述,我需要获取表单输入并为上传的每张图片计算 design-id。如何查询数据库以获取类别、面料、制造商和制造商位置的缩写,并连接所有这些字符串以生成和存储设计 ID?
我已将此代码添加到我的views.py
image = form.save(commit=False)
cat = Category.objects.get(name=image['category'])
fab = Fabric.objects.get(name=image['fabric'])
manu = Manufacturer.objects.get(name=image['manufacturer'])
setcat = Group.objects.get(name=image['set_cat'])
string = cat.abbr + "-" + fab.abbr + "-" + manu.name_abbr + "-" + manu.loc_abbr + "-" + image['selling_price'] + "-" + setcat.abbr + "-" + image['set_cat_no']
image['design_id'] = string
image.save()
这给了我错误 - 'Images' 对象没有属性 'getitem'
models.py 中的我的图片模型是这个
class Images(models.Model):
design_id = models.CharField(max_length=128)
file = models.ImageField(upload_to='images')
cost_price = models.FloatField()
category = models.ForeignKey(Category, on_delete=models.CASCADE, blank=False)
fabric = models.ForeignKey(Fabric, on_delete=models.CASCADE, blank=False)
manufacturer = models.ForeignKey(Manufacturer, on_delete=models.CASCADE, blank=False)
selling_price = models.FloatField()
aliveness = models.IntegerField(default=1)
date_added = models.DateTimeField(default=datetime.datetime.now)
set_cat = models.ForeignKey(Group, on_delete=models.CASCADE, blank=False)
set_cat_no = models.IntegerField()
set_cat_name = models.CharField(max_length=50, blank=True)
visit_count = models.IntegerField(default=0)
我尝试从__unicode__ 返回 unicode() 但这也不起作用。
【问题讨论】:
-
请自己动手,如有错误请寻求帮助。
-
我已经编辑了问题,但出现了错误。
-
有人请回答。急需这个。
-
请更准确地描述您的错误
-
你能在调试中打印
image吗?是否可以通过image['cateogry']方式获取数据?我认为您应该使用image.cleaned_data或其他方式