为了账号安全,请及时绑定邮箱和手机立即绑定

“OneToOneField”的实例没有“用户名”成员

“OneToOneField”的实例没有“用户名”成员

千巷猫影 2021-12-08 10:17:41
创建 Profile 模型时出现以下错误“OneToOneField”的实例没有“用户名”成员这是我创建的代码片段from django.db import modelsfrom django.contrib.auth.models import Userclass Profile(models.Model):    user = models.OneToOneField(User, on_delete=models.CASCADE)    image = models.ImageField(default="default.jpg", upload_to="profile_pics")    def __str__(self):        return f"{self.user.username} Profile"以前它工作正常。现在,我突然收到此错误。我不明白此错误的含义。我该如何解决?谢谢
查看完整描述

2 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

为了让 pylint 与 Django 一起正常工作,您应该安装包pylint-django:


pip install pylint-django

然后你可以运行pylint与pylint_django作为一个插件:


pylint --load-plugins pylint_django <path_to_django_file>

如果您使用 VSCode 作为您的 IDE,您可以将此代码段添加到您的.vscode/settings.json文件中,以便为您的项目加载插件:


{

    "python.linting.pylintArgs": [

        "--load-plugins",

        "pylint_django"

    ]

}

或者,如果你有一个.pylintrc文件,你可以添加这一行来加载插件:


[MASTER]

load-plugins=pylint_django

您可以在pylint-django此处了解更多信息。


查看完整回答
反对 回复 2021-12-08
?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

除了 Pumi 的回答之外,当您 pip install pylint-django 时,您可能会遇到另一个错误:“错误:无法卸载 'wrapt'。这是一个安装了 distutils 的项目,因此我们无法准确确定哪些文件属于它仅导致部分卸载。”


然后你必须输入这个:


pip install wrapt --upgrade --ignore-installed

并重试 pip install pylint-django


而且里面.vscode/settings.json,有一个现有的{"python.pythonPath": "./anaconda3/bin/python"},如果你正在使用畅达解释。因此,您只需要按照@Pumi 的规定添加列表,而无需添加额外的大括号。所以你会有这样的事情:


{

"python.pythonPath": "./anaconda3/bin/python",


"python.linting.pylintArgs": [

        "--load-plugins",

        "pylint_django"

    ]

}

那你就可以走了。


查看完整回答
反对 回复 2021-12-08
  • 2 回答
  • 0 关注
  • 200 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信