【问题标题】:DRF Error: Cannot assign must be a instanceDRF 错误:无法分配必须是实例
【发布时间】:2021-06-14 10:29:37
【问题描述】:

刚刚删除这个问题个人原因抱歉

【问题讨论】:

    标签: python django django-rest-framework error-handling


    【解决方案1】:

    我没有详细介绍您代码的逻辑,但我猜根据您的代码有错误

     user['balance'] = Balance.objects.create(balance=0,user_id=user.id)
    

    应该是

     user['balance'] = Balance.objects.create(balance=0, user_id=user)
    

    【讨论】:

      【解决方案2】:

      由于您将ForeignKey 命名为user_id,这意味着您可以将User 对象分配给.user_id,或者将主键分配给.user_id_id

      user['balance'] = Balance.objects.create(
          balance=0,
          user_id_id = user.id
      )

      不过,我建议将 user_id 重命名为 user,因为现在该字段“提示”它是一个 id,但事实并非如此。

      class Balance(models.Model):
          balance = models.FloatField(verbose_name='Balance')
          user = models.ForeignKey(
              'expenseApi.Users',
              verbose_name='Usuario',
              on_delete=models.PROTECT
          )
          # …

      然后我们可以这样设置:

      user['balance'] = Balance.objects.create(
          balance=0,
          user_id = user.id
      )

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-14
        • 2019-08-20
        • 2011-02-22
        • 2018-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多