Django.db.models中的字段选项有哪些
发布时间:2023-12-25 12:21:02
Django.db.models中的字段选项有很多,以下是常见的一些字段选项使用例子,每个选项的作用会在例子中进行说明。
1. max_length:指定字段的最大长度,常用于CharField和TextField。
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=50) # 字段最大长度为50
bio = models.TextField(max_length=500) # 字段最大长度为500
2. blank:指定字段是否可以为空。
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=50, blank=True) # 字段可以为空
age = models.IntegerField(blank=False) # 字段不可为空,默认为False
3. null:指定字段是否允许存储NULL值,默认为False。
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=50, null=False) # 字段不允许存储NULL值,默认为False
birth_date = models.DateField(null=True) # 字段允许存储NULL值
4. default:指定字段的默认值。
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=50, default="Unknown") # 字段的默认值为"Unknown"
age = models.IntegerField(default=0) # 字段的默认值为0
5. choices:指定字段的选择项,通常用于CharField或IntegerField。
from django.db import models
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
('O', 'Other')
)
class Person(models.Model):
name = models.CharField(max_length=50)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES) # 字段的选择项为GENDER_CHOICES
6. auto_now_add:指定字段在对象 次保存时自动设置为当前日期和时间。
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=50)
created_at = models.DateTimeField(auto_now_add=True) # 字段在对象 次保存时自动设置为当前日期和时间
7. auto_now:指定字段在每次保存时自动更新为当前日期和时间。
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=50)
updated_at = models.DateTimeField(auto_now=True) # 字段在每次保存时自动更新为当前日期和时间
8. unique:指定字段的值是否 ,默认为False。
from django.db import models
class Person(models.Model):
email = models.EmailField(unique=True) # 字段的值必须
username = models.CharField(max_length=50, unique=False) # 字段的值可以重复
9. primary_key:指定字段是否为主键,默认为False。
from django.db import models
class Person(models.Model):
id = models.IntegerField(primary_key=True) # 字段作为主键
name = models.CharField(max_length=50)
这些只是常见的一些字段选项,Django还提供了更多高级的字段选项可以用于创建复杂的数据模型。在实际开发中,根据需要选择合适的字段选项来定义数据模型非常重要,以确保数据存储的准确性和安全性。
