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,它有两个字段:name
和 email
。
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
在这个例子中,我们添加了 age
和 created_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
在这个例子中,我们使用 ForeignKey
将 Post
Model 与 User
Model 关联起来。
Django Models 图解