我为我的一个模型添加了一个 JSONField
。 我想在管理面板中创建该模型的实例,但是该 JSONField
返回验证错误(输入有效的JSON)。
我应该如何解决这个问题??
模型:
class Product(models.Model):
category = models.ManyToManyField(Category, related_name='products')
name = models.CharField(max_length=500)
slug = models.SlugField(max_length=500, allow_unicode=True, unique=True)
image_1 = models.ImageField(upload_to='products_pic/%Y/%m/%d/', null=True, blank=True)
description = models.TextField(null=True, blank=True)
attribute = models.JSONField(default={})
price = models.PositiveIntegerField()
discount = models.PositiveIntegerField(null=True, blank=True)
available = models.BooleanField(default=True)
popular = models.BooleanField(default=False)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
comments = GenericRelation(Comment)
class Meta:
ordering = ('-created',)
def __str__(self):
return self.name
我在管理面板中添加产品。我希望我的产品有多个属性,比如颜色,尺寸等等。使用JSON字段来实现这一点是否可行?
default=dict
而不是default={}
,除非你想在所有创建的相同worker实例之间共享字典。你可能每次都想要一个新的字典,这就是当没有参数调用dict
时返回的内容。 - run_the_race