zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python-Django 模型层-模型层的字段类型

Pythondjango 类型 模型
2023-06-13 09:18:48 时间

Django模型层的字段类型

Django模型层的字段类型决定了数据库中字段的数据类型。在Django中,每个模型都是由字段构成的。这些字段描述了模型的属性,并指定了它们在数据库中的数据类型。Django提供了许多字段类型,包括文本字段、整数字段、日期字段、时间字段等。

CharField

CharField是一个存储字符串的字段类型。它的max_length参数指定了该字段可以存储的最大长度。例如,以下代码定义了一个存储标题的CharField:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    # ...

TextField

TextField是一个存储文本的字段类型。它的max_length参数是可选的,因为TextField可以存储任意长度的文本。例如,以下代码定义了一个存储内容的TextField:

from django.db import models

class Article(models.Model):
    # ...
    content = models.TextField()

IntegerField

IntegerField是一个存储整数的字段类型。它的参数可以指定整数的最小值和最大值。例如,以下代码定义了一个存储年龄的IntegerField:

from django.db import models

class Person(models.Model):
    age = models.IntegerField()
    # ...

DateField

DateField是一个存储日期的字段类型。它的参数可以指定日期的格式。例如,以下代码定义了一个存储生日的DateField:

from django.db import models

class Person(models.Model):
    # ...
    birthday = models.DateField()

DateTimeField

DateTimeField是一个存储日期和时间的字段类型。它的参数可以指定日期和时间的格式。例如,以下代码定义了一个存储创建时间的DateTimeField:

from django.db import models

class Article(models.Model):
    # ...
    create_time = models.DateTimeField(auto_now_add=True)

BooleanField

BooleanField是一个存储布尔值的字段类型。它的值可以是True或False。例如,以下代码定义了一个存储是否已发布的BooleanField:

from django.db import models

class Article(models.Model):
    # ...
    is_published = models.BooleanField(default=False)

ForeignKey

ForeignKey是一个存储其他模型的主键的字段类型。它指定了该字段引用的另一个模型的名称。例如,以下代码定义了一个存储作者的ForeignKey:

from django.db import models

class Article(models.Model):
    # ...
    author = models.ForeignKey('Author', on_delete=models.CASCADE)
    
class Author(models.Model):
    name = models.CharField(max_length=100)
    # ...

在这个例子中,Article模型中的author字段是一个ForeignKey,它引用了另一个模型Author的主键。在创建Article对象时,我们需要指定一个Author对象,或者使用Author对象的ID。