如何将字典存储在Django数据库模型的字段中?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (31)

我需要把字典保存在模型的字段里。我该怎么做?

例如,我有以下代码:

def create_random_bill(self):
    name_chars = re.compile("[a-zA-Z0-9 -_]")
    bill_name = "".join(random.choice(name_chars for x in range(10)))
    rand_products = random.randint(1,100)
    for x in rand_products:
        bill_products = 
    new_bill = Bill.new(name=bill_name, date=datetime.date, products=bill_products)
    new_bill.save()

这是法案的模型描述:

class Bill(models.Model):
    name = models.CharField(max_length=255)
    date = models.DateTimeField(auto_now_add=True)
    products = models.ManyToManyField(Product, related_name="bills")

还有产品的型号说明:

class Product(models.Model):
    name = models.CharField(max_length=255)
    price = models.IntegerField()

如果还有什么需要补充的话,请留言。谢谢!

提问于
用户回答回答于

序列化您的账单。_产品。在这种情况下,你会做如下事情:

bill_products = json.dumps([rand_products])

这将超出for循环(尽管,在上面的示例中,rand)。_产品只是一个单一的值,所以需要修复它)。

用户回答回答于

是一个可重用的Django字段,它允许您在模型中存储经过验证的JSON。

似乎是一个可行的选择来实现你想要的。

扫码关注云+社区