模型:
class Picture(models.Model):
id = models.Field(auto_created=True, primary_key=True)
picture = models.ImageField(upload_to="herb")
herb = models.ForeignKey(Herb, on_delete=models.CASCADE)
之后 使用create添加一个图片后 立即获取picture.id 会为空
id = models.AutoField(auto_created=True, primary_key=True)
这样解决了。 在使用id 就不会为空了
原因是:
使用了IntegerField而不是AutoField,这意味着您有责任自己设置值,而不是由数据库来负责。你有这样的代码吗?如果没有,为什么要使用该字段?为什么不只使用自动ID字段?