Token导航 LogoToken导航

Agent Skill · 开发

django-models(Django models 测试)

用于辅助 Python 项目开发、测试、依赖管理和常见框架工作流。它适合让 Agent 阅读 Python 代码、定位测试问题、整理运行命令、生成脚本或分析数据处理逻辑。使用时需要确认项目虚拟环境、依赖版本和测试入口;涉及执行脚本、读写文件、访问数据库或调用外部 API 时,应先明确运行目录和输入输出范围,避免误改生产数据。

django-models 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 18,616。

总安装 326周安装 14GitHub Stars 126下载 114核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:django-models(Django models 测试)
来源仓库:https://github.com/kjnez/claude-code-django
仓库路径:skills/django-models
安装命令:
npx skills add https://github.com/kjnez/claude-code-django --skill django-models
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/kjnez/claude-code-django --skill django-models

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

Django 模型设计哲学:胖模型、瘦视图和业务逻辑下沉。推荐使用 TextChoices 枚举、get_absolute_url 方法和管理器封装。强调状态转换、验证逻辑和领域行为在模型层实现。安装方式:github,通过 npx skills add 命令添加。适用于需要清晰领域模型和长期维护的项目。

来源仓库内路径:skills/django-models

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/kjnez/claude-code-django --skill django-models;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

django-models 怎么安装?

在终端执行 npx skills add https://github.com/kjnez/claude-code-django --skill django-models。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

django-models 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

django-models 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

django-models 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

django-models 用的人多吗?

公开数据是累计安装 326 次,近一周安装 14 次,下载 114 次,GitHub 126 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

django-models 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
django-models

Django models 测试 · 本页

326126需要联网未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Django Model Patterns

Core Philosophy: Fat Models, Thin Views

Business logic belongs in models and managers, not views. Views orchestrate workflows; models implement domain behavior. This principle creates testable, reusable code that stays maintainable as complexity grows.

Good: Model methods handle business rules, state transitions, validation Bad: Views contain if/else logic for domain rules, calculate derived values

Model Design

Structure Your Models Around Domain Concepts

  • Use TextChoices/IntegerChoices for status fields and enums
  • Add get_absolute_url() for canonical object URLs
  • Include __str__() for readable representations
  • Set proper ordering in Meta for consistent default sorting
  • Add database indexes for frequently filtered/sorted fields
  • Use abstract base models for shared fields (timestamps, soft deletes, etc.)

Field Selection Guidelines

  • Use blank=True, default="" for optional text fields (avoid null)
  • Use null=True, blank=True for optional foreign keys
  • For unique optional fields, use null=True to avoid collision issues
  • Leverage JSONField for flexible metadata (avoid creating many optional fields)
  • Set appropriate max_length based on actual data needs

Encapsulate Business Logic in Model Methods

  • State transitions: post.publish(), order.cancel()
  • Permission checks: post.is_editable_by(user)
  • Complex calculations: invoice.calculate_total()
  • Use properties for computed read-only values
  • Specify update_fields when saving partial changes

QuerySet Patterns: The Power of Composition

Custom QuerySet classes are your secret weapon. They make queries reusable, chainable, and testable.

Pattern: QuerySet as Manager

Define a QuerySet subclass with domain-specific filter methods
Attach it to your model: objects = YourQuerySet.as_manager()
Chain methods for composable queries

Benefits

  • Reusable query logic across views, tasks, management commands
  • Chainable methods enable expressive, readable queries
  • Easy to test in isolation
  • Encapsulates query complexity away from views

Common QuerySet Methods

  • Filtering by status/state
  • Date range queries (recent, upcoming, expired)
  • User-scoped queries (owned_by, visible_to)
  • Combined lookups (published_and_recent)

Query Optimization: Avoid N+1 Queries

The Golden Rules

  1. select_related(): Use for ForeignKey and OneToOneField (creates SQL JOIN)
  2. prefetch_related(): Use for ManyToManyField and reverse ForeignKeys (separate query + Python join)
  3. only(): Load specific fields when you don't need the whole object
  4. defer(): Exclude heavy fields (TextField, JSONField) you won't use
  5. Prefetch() object: Customize prefetch with filters and select_related

Efficient Counting and Existence Checks

  • Use .exists() instead of if queryset: or if len(queryset):
  • Use .count() instead of len(queryset.all())
  • Both perform database-level operations without loading objects

Aggregation and Annotation

  • annotate(): Add computed fields to each object (Count, Sum, Avg, etc.)
  • aggregate(): Compute values across entire queryset
  • Use F() expressions for database-level updates (views=F('views') + 1)
  • Combine annotate with filter for "objects with at least N related items"

Managers vs QuerySets

Use QuerySets for chainable query logic. Use Managers for model-level operations that don't return querysets.

Manager: Think "factory methods" - User.objects.create_user() QuerySet: Think "filters and transformations" - Post.objects.published().recent()

Most of the time, you want a custom QuerySet, not a custom Manager.

Signals: Use Sparingly

Signals create implicit coupling and make code harder to follow. Prefer explicit method calls.

When Signals Make Sense

  • Audit logging (track all changes to a model)
  • Cache invalidation (clear cache when model changes)
  • Decoupling apps (third-party app needs to react to your models)

When to Avoid Signals

  • Business logic that should be in model methods
  • Logic tightly coupled to the calling code (just call the function directly)
  • Complex workflows (use explicit service layer instead)

Rule of thumb: If you control both the trigger and the reaction, don't use a signal.

Migrations

Workflow

  • Run makemigrations after model changes
  • Review generated migration files before applying
  • Run migrate to apply migrations
  • Migrations should be reversible when possible

Data Migrations

Create with makemigrations --empty app_name. Use apps.get_model() to access models (not direct imports). Write both forward and reverse operations.

Use data migrations for: Populating new fields, transforming data, migrating between fields.

Anti-Patterns to Avoid

Query Anti-Patterns

  • Iterating over objects and accessing relations without select_related()/prefetch_related()
  • Using if queryset: instead of .exists()
  • Using len() to count instead of .count()
  • Loading entire objects when you only need specific fields

Design Anti-Patterns

  • Business logic in views instead of models
  • Views performing calculations that belong in model methods
  • Overusing signals for synchronous operations
  • Creating new models when JSONField would suffice
  • Forgetting to add indexes for filtered/sorted fields

Integration

Works with:

  • pytest-django-patterns: Factory-based model testing
  • celery-patterns: Async operations on models (pass IDs, not instances)
  • django-forms: ModelForm validation and saving

平台分布

Codex

37.93%
按下载量换算43

Claude

31.39%
按下载量换算36

Cursor

16.78%
按下载量换算19

Gemini CLI

9.66%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills