📜  django 整数字段示例 - Python (1)

📅  最后修改于: 2023-12-03 15:30:30.435000             🧑  作者: Mango

Django 整数字段示例

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),并演示了如何定义它,设置默认值和验证输入值。始终记住,不论你在哪里使用整数字段,它都将为你提供一个方便,可靠的方法来存储和操作整数数据。