加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

django-模型之(ORM)对象关系映射(一)

发布时间:2020-12-15 17:07:23 所属栏目:大数据 来源:网络整理
导读:所谓对象关系映射,就是将数据库的一些名字与python中的一些名字相对应,表名--类名,字段--属性,操作(增删改查)--方法。这样,我们就可以通过对Python代码的编辑来对数据库进行操作。 流程:创建models,通过models创建迁移文件(makemigrations),通过迁

所谓对象关系映射,就是将数据库的一些名字与python中的一些名字相对应,表名-->类名,字段-->属性,操作(增删改查)-->方法。这样,我们就可以通过对Python代码的编辑来对数据库进行操作。

流程:创建models,通过models创建迁移文件(makemigrations),通过迁移文件映射到数据库中。

book/models.py

from django.db import models

# Create your models here.
class Student(models.Model):
    字段映射,数据库中是male,female,后台显示的是男,女
    choices={
        ('male',""),(female'创建数据库中的字段
    name=models.CharField(verbose_name=姓名True)
    age=models.CharField(verbose_name=年龄)
    gender=models.CharField(verbose_name=性别)
    is_deleted=models.BooleanField(default=False)
    introduce=models.TextField()

    def __str__(self):
        return self.name

     Meta:
         verbose_name_plural='新闻'
         verbose_name="新闻列表"
        修改排列的顺序,这句是靠id从大到小排序
        ordering=[-id]
        db_table = student'

book/admin.py

from django.contrib  admin
from .models  Student

 Register your models here.

在后台显示相关信息
 StudentAdmin(admin.ModelAdmin):
    list_display = [idnameagegenderis_deletedintroduce]

将模型进行注册
admin.site.register(Student,StudentAdmin)

有了这两个,输入:

python manage.py makemigrations

python manage.py migrate

会在migrations下生成一个文件:

?

?具体内容如下:

 migrations,models


 Migration(migrations.Migration):

    dependencies = [
        (book0001_initial [
        migrations.CreateModel(
            name=Student,fields=[
                (ID)),models.CharField(max_length=20,unique=True,models.CharField(max_length=10,models.CharField(choices=[('),(femal')],models.BooleanField(default=False)),models.TextField()),],),migrations.DeleteModel(
            name=Articles

点击students,会有相应表的信息:

?

?最后,我们将数据库里面的内容传到前台页面:

book/views.py

 Student
from django.shortcuts  render
def index(request):
    student_list=Student.objects.all()
    context={
        students:student_list,1)">return render(request,1)">index.html",context=context)

index.html

<!DOCTYPE html>
<html lang=en">
<head>
    <meta charset=UTF-8">
    <title>{{title}}</title>
    <link rel=stylesheet" href={% static css/index.css' %}>
</head>
<body>
    {% include header.html'%}
    <div class=content">
        <h1>这是主界面</h1>
        {% for student in students %}
        {{student.id}}
        {{student.name}}
        {% endfor %}
        <!--{% block content %}-->
        <!--{% endblock %}-->
    </div>footer.html}
</body>
</html>

最终效果:

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读