0
私は2枚のモデルの製品と製品の画像を持っている今、私は管理者からの製品と画像を追加したいインラインモデル
製品モデル
class Products(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=250)
description = models.TextField(null=True)
category = models.ForeignKey(ProductCategory, null=True, blank=True)
business = models.ForeignKey(BpBasic, default=BpBasic.get_admin_business().bp_id)
created_at = models.DateTimeField(default=timezone.now)
updated_at = models.DateTimeField(default=None, null=True)
created_by = models.ForeignKey(User, null=False, blank=False, related_name='product_created_by')
updated_by = models.ForeignKey(User, null=True, blank=False, related_name='product_updated_by')
製品イメージモデル
class ProductImage(models.Model):
product = models.ForeignKey(Products, null=False, on_delete=models.CASCADE, related_name='product')
image = models.ImageField(upload_to='media/products/')
primary = models.BooleanField(default=False)
created_at = models.DateTimeField(default=timezone.now)
updated_at = models.DateTimeField(default=None, null=True)
created_by = models.ForeignKey(User, null=False, blank=False, related_name='prod_image_created_by')
updated_by = models.ForeignKey(User, null=True, blank=False, related_name='prod_image_updated_by')
商品画像インラインモデル
class ProductImageInline(admin.StackedInline):
model = ProductImage
exclude = ('created_at', 'updated_at', 'created_by', 'updated_by')
extra = 1
製品
coercing to Unicode: need string or buffer, ImageFieldFile found
私はファイルの保存上記のエラーを取得していますを節約しながら
製品管理モデル
class ProductAdmin(admin.ModelAdmin):
model = Products
list_display = ('name', 'description', 'category')
fieldsets = [
('Product Details', {'fields': ['name', 'description']}),
('Product Category', {'fields': ['category']})
]
inlines = [ProductImageInline]
def save_formset(self, request, form, formset, change):
def set_user(instance):
if not change:
instance.created_by = request.user
else:
instance.updated_by = request.user
instance.save()
print formset
instances = formset.save(commit=False)
print list(instances)
map(set_user, instances)
instances.save()
return instances
def save_model(self, request, obj, form, change):
if not change:
obj.created_by = request.user
obj.business = request.user.profile.business
else:
obj.updated_by = request.user
obj.save()
return obj
は、だから私は問題を抱えています。助けてください!お使いのモデルの一部に(あなたがのpython3を使用している場合や__str__
)あなたは__unicode__
方法に問題があるよう