📅  最后修改于: 2023-12-03 15:30:30.589000             🧑  作者: Mango
Django模型是一个Python类,用于定义应用程序中使用的数据模型。这些模型在数据库中被映射为表格,并且可以轻松地进行查询、添加、删除和修改。
在Django中定义模型非常简单。在应用程序的models.py文件中,使用以下格式定义模型:
from django.db import models
class MyModel(models.Model):
field1 = models.CharField(max_length=20)
field2 = models.IntegerField(default=0)
在这个例子中,我们定义了一个名为MyModel
的模型。这个模型有两个字段:field1
和field2
。field1
是一个最大长度为20的字符字段,field2
是一个整数字段,它的默认值为0。
Django中可用的字段类型非常丰富,包括:
CharField
: 字符串字段TextField
: 长文本字段IntegerField
: 整数字段FloatField
: 浮点数字段BooleanField
: 布尔字段DateField
: 日期字段DateTimeField
: 日期时间字段TimeField
: 时间字段FileField
: 文件上传字段ImageField
: 图片上传字段每个字段类型都有许多选项,用于指定该字段的特定行为。一些常见的选项包括:
max_length
: 字符字段的最大长度default
: 字段的默认值null
: 是否允许为NULLblank
: 是否允许为空字符串unique
: 是否唯一choices
: 字段中可选的选项当您的模型更改时,您需要将这些更改应用于数据库。Django使用迁移来管理这些更改。要运行迁移,请使用以下命令:
$ python manage.py makemigrations myapp
$ python manage.py migrate
在这个例子中,myapp
是您的应用程序名称。
Django模型还可以有一个自定义管理员类,用于为该模型添加特定的管理行为。默认情况下,Django提供了一个通用的管理员类,但您可以创建自己的管理员类并将其与模型关联起来。
from django.contrib import admin
from .models import MyModel
class MyModelAdmin(admin.ModelAdmin):
list_display = ('field1', 'field2')
admin.site.register(MyModel, MyModelAdmin)
在这个示例中,我们为MyModel
模型创建了一个自定义管理员类。这个管理员类将添加一个名为list_display
的选项,用于指定在管理页面中显示的字段。
Django模型是定义应用程序数据的强大工具。它们提供了一种简单且灵活的方式来管理和查询数据。使用迁移和自定义管理员类,您可以轻松地将模型集成到您的应用程序中。