【问题标题】:no such column: users_profile.user_id - Django没有这样的列:users_profile.user_id - Django
【发布时间】:2021-11-13 00:56:39
【问题描述】:

我在我的 Django 项目中创建了一个名为 users 的应用程序,并创建了一个名为 Profile 的模型。在管理面板中注册应用程序后,还要在 settings.py 中安装应用程序并为其创建视图。当我单击http://127.0.0.1:8000/admin/user/Profile 中的配置文件时,我收到以下错误:

OperationalError at /admin/users/profile/
no such column: users_profile.user_id
Request Method: GET
Request URL:    http://127.0.0.1:8000/admin/users/profile/
Django Version: 3.2.6
Exception Type: OperationalError
Exception Value:    
no such column: users_profile.user_id
Exception Location: C:\Users\Serage\Desktop\devsearch\env\lib\site-packages\django\db\backends\sqlite3\base.py, line 423, in execute
Python Executable:  C:\Users\Serage\Desktop\devsearch\env\Scripts\python.exe
Python Version: 3.9.5
Python Path:    
['C:\\Users\\Serage\\Desktop\\devsearch',
 'c:\\users\\serage\\appdata\\local\\programs\\python\\python39\\python39.zip',
 'c:\\users\\serage\\appdata\\local\\programs\\python\\python39\\DLLs',
 'c:\\users\\serage\\appdata\\local\\programs\\python\\python39\\lib',
 'c:\\users\\serage\\appdata\\local\\programs\\python\\python39',
 'C:\\Users\\Serage\\Desktop\\devsearch\\env',
 'C:\\Users\\Serage\\Desktop\\devsearch\\env\\lib\\site-packages']
Server time:    Sat, 18 Sep 2021 13:59:55 +0000

我的个人资料代码是:

from django.db import models
from django.contrib.auth.models import User
import uuid
# Create your models here.
class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True)
    name = models.CharField(max_length=200, blank=True, null=True)
    email = models.EmailField(max_length=500, blank=True, null=True)
    short_intro = models.CharField(max_length=200, blank=True, null=True)>
    bio = models.TextField(blank=True, null=True)
    profile_image = models.ImageField(null = True, blank = True, upload_to='profiles/', default="profiles/user-default.png")
    social_github = models.CharField(max_length=500, null=True, blank=True)
    social_github = models.CharField(max_length=500, null=True, blank=True)
    social_linkedIn = models.CharField(max_length=500, null=True, blank=True)
    social_youtube = models.CharField(max_length=500, null=True, blank=True)
    social_website = models.CharField(max_length=500, null=True, blank=True)
    created = models.DateTimeField(auto_now_add=True, editable=False)
    id = models.UUIDField(default=uuid.uuid4, unique=True, primary_key=True, editable=False)
    def __str__(self):
        return str(self.user.username)

请帮忙

【问题讨论】:

  • 你跑过python manage.py makemigrationspython manage.py migrate吗?
  • 我做了很多次,一切听起来都不错,但是当我在我的管理员中点击个人资料时,我得到了错误
  • python manage.py showmigrations 告诉你你已经应用了所有迁移?

标签: python django


【解决方案1】:

首先,尝试删除Web App中的所有迁移文件, 然后运行python manage.py makemigrations & python manage.py migrate cmds

如果问题仍然存在

删除您的数据库并重复上面的步骤。

希望这些对你有用。

【讨论】:

  • 我确实删除了迁移文件夹中的所有文件,然后重新运行 makemigrations 并迁移它,但是当我转到我的 8000/admin/users/profile 时,我得到了同样的错误
  • 你好@Serage 尝试运行这个命令python manage.py makemigrations users
  • 这是 Django 中的一个小故障,我在另一个应用程序中更新了一个模型并运行迁移,它现在工作正常?
  • @Serage 很高兴听到这个消息:)
猜你喜欢
  • 2021-04-03
  • 2021-11-07
  • 2015-02-25
  • 2020-08-16
  • 2014-09-23
  • 1970-01-01
  • 2020-12-10
  • 2015-12-07
  • 2019-05-20
相关资源
最近更新 更多