CharField
是 Django 框架中的一个字段类型,用于存储字符串数据。choices
参数允许你为该字段指定一组可选值,这些值在数据库中存储为对应的整数值,但在 Django 管理界面和表单中显示为用户友好的文本。
CharField
with choices
实例要查看 CharField
with choices
的实例,你可以直接访问该字段的 choices
属性。以下是一个简单的示例:
from django.db import models
class MyModel(models.Model):
GENDER_CHOICES = [
('M', 'Male'),
('F', 'Female'),
('O', 'Other'),
]
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
# 在 Django shell 中查看
from myapp.models import MyModel
print(MyModel._meta.get_field('gender').choices)
choices
参数可以确保只有预定义的值被存储在数据库中,从而减少数据错误。choices
会显示为用户友好的文本,而不是数据库中的整数值。choices
列表,而不需要修改数据库结构。choices
参数接受一个包含元组的列表,每个元组包含两个元素:数据库中存储的值和用户界面中显示的值。
CharField
with choices
的实际值?get_<field_name>_display()
方法来获取用户友好的显示值。例如:get_<field_name>_display()
方法来获取用户友好的显示值。例如:CharField
with choices
?CharField
with choices
会自动转换为选择框(<select>
)。例如:CharField
with choices
会自动转换为选择框(<select>
)。例如:choices
?choices
,可以在模型中定义一个方法,并在 choices
参数中调用该方法。例如:choices
,可以在模型中定义一个方法,并在 choices
参数中调用该方法。例如:Elastic 实战工作坊
Elastic 实战工作坊
企业创新在线学堂
高校公开课
企业创新在线学堂
企业创新在线学堂
企业创新在线学堂
腾讯云数据库TDSQL训练营
企业创新在线学堂
云+社区技术沙龙[第20期]
领取专属 10元无门槛券
手把手带您无忧上云