开发者社区> 问答> 正文

Django-如何使用ID字段修复模型

我无意间创建了一个带有字段“ id”的模型,并进行了迁移。最初的模型如下所示:

class VsSession(models.Model):
    id = models.TextField(default="123"),
    state = models.CharField(choices=VSSESSION_CHOICES, default='dead', max_length=10)

之后,我将该字段重命名为vs_session:

class VsSession(models.Model):
    vs_session = models.TextField(default="123"),
    state = models.CharField(choices=VSSESSION_CHOICES, default='dead', max_length=10)

现在,每当我尝试使用模型时,例如:

def get(self, request):
    try:
        sessionid = uuid.uuid4()
        new_session = VsSession(vs_session=sessionid, state="active")
        new_session.save()

        return Response({'success': 'true', 'vssession': sessionid})
    except Exception as e:
        print(str(e))
        return Response({'success': 'false'})

我收到此错误:

VsSession() got an unexpected keyword argument 'vs_session'

谁能告诉我我做错了什么以及如何解决此问题。

非常感谢你!

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 23:48:23 722 0
1 条回答
写回答
取消 提交回答
  • 所以我不知道为什么现在可以解决这个问题,但是我已经解决了。我所做的是

    1. Removed vs_session variable from the model
    2. Added created_at = models.DateTimeField(auto_now_add=True) to the model
    3. makemigration and migrate
    4. Run code/stop code
    5. Add vs_session variable to model
    6. makemigration an migrate
    7. Everything is fine :)

    回答来源:stackoverflow

    2020-03-24 23:48:32
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用TensorFlow搭建智能开发系统自动生成App UI 立即下载
使用TensorFlow搭建智能开发系统 自动生成App U 立即下载
低代码开发师(初级)实战教程 立即下载