📜  django 模型详细名称 - Python (1)

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

Django模型详细名称

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的模型。这个模型有两个字段:field1field2field1是一个最大长度为20的字符字段,field2是一个整数字段,它的默认值为0。

字段类型

Django中可用的字段类型非常丰富,包括:

  • CharField: 字符串字段
  • TextField: 长文本字段
  • IntegerField: 整数字段
  • FloatField: 浮点数字段
  • BooleanField: 布尔字段
  • DateField: 日期字段
  • DateTimeField: 日期时间字段
  • TimeField: 时间字段
  • FileField: 文件上传字段
  • ImageField: 图片上传字段
  • 等等
字段选项

每个字段类型都有许多选项,用于指定该字段的特定行为。一些常见的选项包括:

  • max_length: 字符字段的最大长度
  • default: 字段的默认值
  • null: 是否允许为NULL
  • blank: 是否允许为空字符串
  • 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模型是定义应用程序数据的强大工具。它们提供了一种简单且灵活的方式来管理和查询数据。使用迁移和自定义管理员类,您可以轻松地将模型集成到您的应用程序中。