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

Django创建News与Category模型后,Category未在SQLiteStudio显示的问题

Django迁移后Category模型表未显示的问题排查

问题描述

我在Django中创建了News和Category两个模型,代码如下:

from django.db import models

class News(models.Model):
    title = models.CharField(max_length=150,verbose_name='Заголовок')
    content = models.TextField(blank=True, verbose_name='Текст')
    created_at = models.DateTimeField(auto_now_add=True, verbose_name='Время создания')
    updated_at = models.DateTimeField(auto_now=True, verbose_name='Время создания')
    photo = models.ImageField(upload_to='media/%y/%m/%d', null='True', blank='True',
                              verbose_name='Фото')
    is_published = models.BooleanField(default=True, verbose_name='Публикация')


class Category(models.Model):
    title = models.CharField(max_length=150, db_index=True, verbose_name='Категория')

执行迁移操作后,在SQLiteStudio中能看到News模型对应的表,但看不到Category模型的表,请问哪里操作出错了?

可能的错误原因及解决方法

  • 未生成Category模型的迁移文件:
    Django不会自动为新增模型创建迁移文件,需手动执行生成命令:

    python manage.py makemigrations
    

    执行后检查控制台输出,确认是否包含Category的迁移记录(如Created new migration: 0002_category)。若未生成,先检查模型所在应用是否在settings.py的INSTALLED_APPS列表中注册。

  • 未将迁移同步到数据库:
    生成迁移文件后,需执行命令将变更同步到数据库:

    python manage.py migrate
    

    查看输出确认对应迁移已应用(如Applying your_app_name.0002_category... OK)。

  • 模型所在应用未注册:
    打开settings.py,检查INSTALLED_APPS列表,确保包含模型所在的应用名称(例如模型在news应用中,需添加'news'到列表)。未注册的应用,Django会忽略其模型的迁移处理。

  • SQLiteStudio未刷新数据库连接:
    数据库表可能已生成但未显示,右键点击SQLiteStudio中的数据库连接,选择刷新或重新连接后再查看。

  • 迁移文件生成异常:
    若makemigrations未生成Category的迁移,可删除该应用下migrations目录(保留__init__.py),再重新执行:

    python manage.py makemigrations
    python manage.py migrate
    

    注意:此操作会重置该应用的迁移记录,生产环境需谨慎操作。


内容的提问来源于stack exchange,提问作者Иван Пешков

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 10:32:23