# 验证错误：模型字段“test”不是有效的 UUID

- **ID:** `python/django-model-foreignkey-validation`
- **领域:** python
- **类别:** data_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

外键字段期望 UUID 类型，但传入了无效的字符串值

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 3.2 | active | — | — |
| 4.0 | active | — | — |

## 解决方案

1. **传入有效的 UUID 字符串** (100% 成功率)
   ```
   import uuid; model_instance.foreign_key = uuid.UUID('550e8400-e29b-41d4-a716-446655440000')
   ```
2. **使用 UUID 对象而不是字符串** (95% 成功率)
   ```
   from uuid import UUID; model_instance.foreign_key = UUID('550e8400-e29b-41d4-a716-446655440000')
   ```

## 无效尝试

- **忽略验证直接保存** — Django 在保存前会进行字段验证，无法绕过 (100% 失败率)
- **将字段类型改为 CharField** — 改变模型结构需要迁移，且可能破坏外键关系 (60% 失败率)
