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筛选 筛选掉被标记为删除的数据
浙公网安备 33010602011771号