📅  最后修改于: 2023-12-03 15:30:30.435000             🧑  作者: Mango
Django 中的整数字段 (IntegerField
) 用于保存整数值。整数字段可保存正,负和零值,并提供验证机制,确保输入的值符合预期。
定义整数字段可以在模型的字段中使用 IntegerField
类。例如,以下是一个保存书籍信息的模型:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
pages = models.IntegerField()
在上面的例子中,我们定义了一个 Book
模型,并添加了一个 IntegerField
类型的字段 pages
。这个字段用于保存书籍的页数信息。
如果你不指定 IntegerField
的默认值,那么在数据库中将使用 NULL
作为默认值。但是,如果你希望它有一个不同的默认值,那么你可以添加 default
参数:
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.CharField(max_length=200)
pages = models.IntegerField(default=0)
在上面的例子中,我们添加了一个 default
参数来指定 pages
字段的默认值为 0
。
IntegerField
还负责验证输入的值是否是一个整数。如果验证失败,Django 将抛出 Validation error
异常。例如,以下是一个简单的表单验证代码:
from django import forms
class BookForm(forms.Form):
title = forms.CharField(max_length=200)
pages = forms.IntegerField()
def clean_pages(self):
pages = self.cleaned_data.get('pages')
if pages < 1:
raise forms.ValidationError('Minimum value is 1.')
return pages
在上面的例子中,我们创建了一个 BookForm
表单,并为它添加了一个整数字段 pages
。我们添加了一个 clean_pages
方法,用于验证输入值是否满足最小值的要求。如果验证失败,则通过 ValidationError
异常返回错误信息。
在本文中,我们介绍了 Django 中的整数字段 (IntegerField
),并演示了如何定义它,设置默认值和验证输入值。始终记住,不论你在哪里使用整数字段,它都将为你提供一个方便,可靠的方法来存储和操作整数数据。