从基础配置着手,我们逐步掌握在 VSCode 中利用 CodeGeeX 高效生成 Django 模型的方法。若插件安装、Python 解释器等前提条件未正确设置,生成的代码可能缺失字段或直接报错。因此,按照以下步骤操作能确保流程顺畅,避免常见问题。
安装并启用 CodeGeeX 插件
打开 VSCode 扩展市场(快捷键 Ctrl+Shift+X),搜索 CodeGeeX,点击“安装”。安装完成后无需重启,但需确认右下角状态栏出现闪电图标(⚡)。若未出现,按 Ctrl+Shift+P 输入 CodeGeeX: Toggle 手动启用。
这一步如果遗漏,后续所有生成指令均无响应——插件未激活时,快捷键 Ctrl+Alt+I 完全无效。
准备上下文:新建 models.py 并声明应用名
在对应 Django app 目录下(例如 myapp/),新建或打开 models.py 文件。
文件开头先写入标准导入与应用声明:
from django.db import models
# 请将 'myapp' 替换为你实际的 app 名称
class Meta:
app_label = 'myapp'
务必正确填写 app_label,否则 CodeGeeX 生成的模型在执行 python manage.py makemigrations 时无法被识别,迁移命令会直接忽略它,静默跳过。
用自然语言描述需求并触发生成
在 models.py 中,将光标置于空行(建议在 from django.db import models 下方),直接输入中文描述,例如:
生成一个商品模型,包含名称(字符串,最大长度100)、价格(小数,最多8位,2位小数)、上架时间(自动设置为创建时间)、是否上架(布尔,默认True)
选中这段文本,按下快捷键 Ctrl+Alt+I,等待几秒,CodeGeeX 就会在光标下方插入完整的模型类代码。
生成效果示例如下:
class Product(models.Model):
name = models.CharField(max_length=100)
price = models.DecimalField(max_digits=8, decimal_places=2)
created_at = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
注意:CodeGeeX 不会自动添加 __str__ 方法。你需要手动在类末尾加入 def __str__(self): return self.name,否则 Django Admin 中会显示为空白项。
验证并注册模型
第一步,打开 myapp/apps.py,确认 name 字段值与目录名一致,例如 name = 'myapp'。
第二步,打开项目根目录下的 settings.py,在 INSTALLED_APPS 列表中确认已添加 'myapp'(带引号,末尾有逗号)。
第三步,在终端激活虚拟环境,依次运行 python manage.py makemigrations 和 python manage.py migrate。
若终端返回 No changes detected,说明模型未被识别——应立即检查 apps.py 中的 name 与 settings.py 中的注册名是否完全一致,注意大小写和引号。
