You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django执行迁移后仍报Unknown Column错误及Admin显示异常求助

问题原因分析与解决办法

一、数据库迁移后提示“no such column: Linked_OKR”的原因

  • 字段名大小写引用错误:你定义的模型字段是linked_OKR,但错误提示中的字段是Linked_OKR(首字母大写),大概率是代码中某处的查询(比如视图、序列化器、模板里的ORM语句)写错了字段名的大小写,Django ORM会将错误的字段名解析为数据库列名,导致找不到对应列。
  • 迁移未正确执行:检查是否运行了python manage.py migrate将生成的迁移文件同步到数据库,或者查看migrations文件夹中的新迁移文件,确认是否包含创建okrid列的语句。如果迁移文件未正确生成,可能是因为之前的迁移有残留,或者模型定义存在其他语法问题。
  • db_column映射冲突:虽然你指定了db_column='okrid',但如果数据库中已有同名列且与当前外键关联逻辑不匹配,或者Django ORM在查询时未正确识别db_column的配置,也可能导致错误。可以尝试删除旧的迁移文件(保留初始迁移),重新生成并应用迁移。

二、Admin视图中字段未以粗体显示的原因

Django Admin默认会给必填字段(即blank=False且null=False的字段)显示粗体,你的linked_OKR字段设置了blank=True, null=True,属于可选字段,因此默认不会以粗体显示。如果需要让它加粗,可在Admin类的fieldsets中为该字段配置自定义样式,示例代码如下:

from django.contrib import admin
from .models import YourModel

class YourModelAdmin(admin.ModelAdmin):
    fieldsets = [
        (None, {
            'fields': ['linked_OKR'],
            'classes': ['bold'],
        }),
        # 其他字段组配置...
    ]

admin.site.register(YourModel, YourModelAdmin)

内容的提问来源于stack exchange,提问作者kikee1222

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 09:05:40