Django数据模型代码片段

发布时间:2024年01月03日

blog

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User

class Post(models.Model):

? ? STATUS_CHOICES = (

? ? ? ? ('draft','Draft'),

? ? ? ? ('published','Published')

? ? )

? ? title = models.CharField(max_length=250)

? ? slug = models.SlugField(max_length=250,unique_for_date='publish')

? ? author = models.ForeignKey(User,on_delete=models.CASCADE,related_name='blog_post')

? ? body = models.TextField()

? ? publish = models.DateTimeField(default=timezone.now)

? ? created = models.DateTimeField(auto_now_add=True)

? ? updated = models.DateTimeField(auto_now=True)

? ? status = models.CharField(max_length=10,choices=STATUS_CHOICES,default='draft')


? ? class Meta:

? ? ? ? ordering = ('-publish',)


? ? def __str__(self):

? ? ? ? return self.title

https://docs.djangoproject.com/en/2.0/ref/models/fields/ 可以找到所有字段类型。

📌模型中的Meta类包含元数据。告诉Django在查询数据库时默认按降序对publish字段中的结果进行排序。我们使用负前缀指定降序。通过这样做,最近发布的帖子将首先显示。

📌__str__()方法是对象的默认人类可读表示形式。Django会在很多地方使用它,比如管理站点。

文章来源:https://blog.csdn.net/Q1780020/article/details/135261480
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。