django model的字段类型有哪些,如何使用
时间: 2023-07-18 12:21:33 浏览: 158
Django model的字段类型有很多,可以根据实际需求选择相应的类型。使用方法如下:
1. 字符串类型(CharField)
用于存储字符串类型的数据,可以指定最大长度。
```python
from django.db import models
class Example(models.Model):
name = models.CharField(max_length=100)
```
2. 整数类型(IntegerField)
用于存储整数类型的数据。
```python
from django.db import models
class Example(models.Model):
age = models.IntegerField()
```
3. 布尔类型(BooleanField)
用于存储布尔类型的数据。
```python
from django.db import models
class Example(models.Model):
is_active = models.BooleanField(default=False)
```
4. 日期类型(DateField)
用于存储日期类型的数据。
```python
from django.db import models
class Example(models.Model):
date = models.DateField()
```
5. 时间类型(TimeField)
用于存储时间类型的数据。
```python
from django.db import models
class Example(models.Model):
time = models.TimeField()
```
6. 日期时间类型(DateTimeField)
用于存储日期时间类型的数据。
```python
from django.db import models
class Example(models.Model):
datetime = models.DateTimeField()
```
7. 浮点数类型(FloatField)
用于存储浮点数类型的数据。
```python
from django.db import models
class Example(models.Model):
price = models.FloatField()
```
8. 文本类型(TextField)
用于存储文本类型的数据,可以存储大量文本。
```python
from django.db import models
class Example(models.Model):
description = models.TextField()
```
9. 自增类型(AutoField)
用于存储自增类型的数据,一般用于主键。
```python
from django.db import models
class Example(models.Model):
id = models.AutoField(primary_key=True)
```
10. 外键类型(ForeignKey)
用于存储外键类型的数据。
```python
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
```
11. 多对多类型(ManyToManyField)
用于存储多对多类型的数据。
```python
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
```
12. 一对一类型(OneToOneField)
用于存储一对一类型的数据。
```python
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=100)
class Passport(models.Model):
number = models.CharField(max_length=10)
person = models.OneToOneField(Person, on_delete=models.CASCADE)
```
13. 文件类型(FileField)
用于存储文件类型的数据。
```python
from django.db import models
class Example(models.Model):
file = models.FileField(upload_to='files/')
```
14. 图像类型(ImageField)
用于存储图像类型的数据。
```python
from django.db import models
class Example(models.Model):
image = models.ImageField(upload_to='images/')
```
以上是Django model的字段类型及使用方法,可以根据实际需求选择相应的类型。
阅读全文