django插入数据报错

代码如下

clipboard.png

数据库创建的如下


class HyperParameters(models.Model):
    graph = models.ForeignKey(Graph)
    train_times = models.PositiveIntegerField(default=10)
    save = models.BooleanField(default=True)
    learning_rate = models.FloatField(default=0.01)

    def __str__(self):
        return "{id}: {graph} {train_times} {save} {learning_rate}".format(id=self.id,
                                                                   graph=self.graph,
                                                                   train_times=self.train_times,
                                                                   save=self.save,
                                                                   learning_rate=self.learning_rate
                                                                   )

为何我要创建数据,总是报图中的错误,例如

HyperParameters.objects.create(learning_rate=0.02)

总是说BOOL object 不可以调用是什么意思?

阅读 2.9k
2 个回答

你定义了一个叫做save的字段,覆盖了框架默认方法.
这是django.db.model.Model的默认保存方法.
你给他定义了一个bool值,所以在框架调用HyperParameters.save()时报了boolean is not callable这个错误.

def save(self, force_insert=False, force_update=False, using=None,
             update_fields=None):
        """
        Saves the current instance. Override this in a subclass if you want to
        control the saving process.

        The 'force_insert' and 'force_update' parameters can be used to insist
        that the "save" must be an SQL insert or update (or equivalent for
        non-SQL backends), respectively. Normally, they should not be set.

原回答错误。楼下正解

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题