Django Models 是 Django 框架中用于定义数据库表结构和业务逻辑的核心组件。下面是一些关于 Django Models 的基本概念和用法。

1. 什么是 Django Models?

Django Models 是基于 Python 类的,用于定义数据库中表的结构。每个 Model 类对应一个数据库表,类中的每个属性对应表中的一个字段。

2. 创建 Model

要创建一个 Model,首先需要定义一个继承自 django.db.models.Model 的类。下面是一个简单的例子:

from django.db import models

class User(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField()

在上面的例子中,我们创建了一个名为 User 的 Model,它有两个字段:nameemail

3. 字段类型

Django 提供了多种字段类型,包括:

  • CharField:用于存储字符类型的数据。
  • IntegerField:用于存储整数类型的数据。
  • DateTimeField:用于存储日期和时间类型的数据。
  • ForeignKey:用于创建两个 Model 之间的关联。

4. 示例:用户模型

以下是一个更完整的用户 Model 示例:

from django.db import models

class User(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField()
    age = models.IntegerField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.name

在这个例子中,我们添加了 agecreated_at 两个字段。

5. 关联模型

假设我们有一个 Post Model,我们想要将它与 User Model 关联起来。以下是如何实现:

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    author = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.title

在这个例子中,我们使用 ForeignKeyPost Model 与 User Model 关联起来。

更多关于 Django Model 的信息


Django Models 图解