django-nullable-model-string-field (DJ001)
源自 flake8-django linter。
作用
检查 Django 模型中基于字符串的可空字段(如 CharField
和 TextField
)。
为什么这不好?
如果一个基于字符串的字段是可空的,那么你的模型对于“无数据”将有两种可能的表示:None
和空字符串。 这可能会导致混淆,因为 API 的客户端在尝试确定字段是否包含数据时必须检查 None
和空字符串。
Django 的惯例是使用空字符串代替字符串字段的 None
。
示例
from django.db import models
class MyModel(models.Model):
field = models.CharField(max_length=255, null=True)
建议改为