1、在models.py 中设置__str__方法:在类class中设置 

def __str__(self):

    return "<Article:%s>" % self.title 

其作用是:return回想要的class中的值(如title),如果不加__str__方法则返回对象(Article object 即存储地址)。

2.在admin.py中设置装饰器,返回想要显示的内容:

1 @ admin.register(Article)  #装饰器确定为一个模型一个定制类
2 class ArticleAdmin(admin.ModelAdmin):
3     list_display=('id','title','content')  #可以是元组或列表4     
5     ordering=('id',)  #排序  '-id'倒序6 
7 # admin.site.register(Article)  被@装饰器替代,以免被其他应用。

3.修改模型步骤:首先备份数据库文件db.sqlite3-->修改models.py-->数据库迁移。

     python manage.py makemigrations-->python manage.py migrate

 4.时间参数:

1 class Article(models.Model):
2     title=models.CharField(max_length=30)
3     content=models.TextField()
4     #created_time=models.DateTimeField(default=timezone.now)  timezone被代替     
9 author=models.ForeignKey(User,on_delete=models.DO_NOTHING,default=1) #1为用户表中第一条用户,一般为超级管理员。
5 created_time=models.DateTimeField(auto_now_add=True) #auto_now_add 创建时间 6 last_updated_time=models.DateTimeField(auto_now=True) #修改时间 7 def __str__(self): 8 return "<Article:%s>" % self.title

5.使用外键

添加作者时,外键关联到另一个模型。使用Django的用户模型,并导入

  from django.contrib.auth.models import User

字段添加见上表9。

6.删除标记及过滤。数据库中不许删除内容,一般标记为删除。 在models文件设字段:

 1 is_deleted=models.booleanField(default=False) #是否标记为删除 

在views.py文件Article_list中

1 #Articles=Article.objects.all()   获取全部数据
2 Articles=Article.objects.filter(is_deleted=False)    #filter筛选 筛选掉被标记为删除的数据

 

posted on 2018-11-08 22:42  南飞雁ht  阅读(106)  评论(0)    收藏  举报