Django数据模型代码片段

blog

python 复制代码
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会在很多地方使用它,比如管理站点。

相关推荐
熊猫钓鱼>_>1 天前
Django全栈开发:架构解析与性能优化实战
性能优化·架构·django
小石潭记丶1 天前
Django服务开发镜像构建
django·sqlite·pip
华子w9089258591 天前
基于 Python Django 和 Spark 的电力能耗数据分析系统设计与实现7000字论文实现
python·spark·django
博观而约取2 天前
Django 数据迁移全解析:makemigrations & migrate 常见错误与解决方案
后端·python·django
哈里谢顿2 天前
Django REST Framework 中序列化器的Meta详解
django
博观而约取3 天前
Django ORM 1. 创建模型(Model)
数据库·python·django
小王子10243 天前
Django+DRF 实战:从异常捕获到自定义错误信息
后端·django·web开发
ઈ一笑ഒ3 天前
Django
django
伊织code4 天前
Wagtail - Django 内容管理系统
后端·python·django·wagtail