1 回答
TA贡献1895条经验 获得超3个赞
值得一提的是,您正在将int类型传递给string方法。这就是错误所指示的内容。
使用randint将返回一个整数,最适合此用例。一种方法是重写模型保存方法:
from random import randint
class Product(models.Model):
title = models.CharField(max_length=255)
slug = models.SlugField(max_length=255)
category = models.ForeignKey(Category, related_name='products', on_delete=models.CASCADE)
product_id = models.IntegerField(null=True, Blank=True) # Max length 5, numerals only
description = models.TextField(blank=True, null=True)
price = models.FloatField()
def save(self, **kwargs):
if not self.product_id:
self.product_id = randint(10000, 99999)
return super(Product, self).save(**kwargs)
添加回答
举报