• 【毕业设计】后端实现——设计数据库并存储数据


    🌈据说,看我文章时 关注、点赞、收藏帅哥美女们 心情都会不自觉的好起来。

    前言:
    🧡作者简介:大家好我是 user_from_future ,意思是 “ 来自未来的用户 ” ,寓意着未来的自己一定很棒~
    ✨个人主页:点我直达,在这里肯定能找到你想要的~
    👍专栏介绍:个人记账分析系统 ,专门记录制作过程,每天进步一点点~

    想看往期历史文章,可以浏览此博文: 历史文章目录,后续所有文章发布都会同步更新此博文~

    人生苦短,我用python

    设计模型类

    这里采用djangoweb框架,好处就是数据库能自动创建,数据能自动写入,舒服!技术创造懒人 技术迎合需求。

    微信账单模型

    除了交易时间是日期类型,所以用 models.DateTimeField 类型,其他都用 models.CharField 类型:

    # _*_ coding:utf-8 _*_
    from django.db import models
    from django.contrib.auth.models import User
    
    # Create your models here.
    
    
    class Wechat(models.Model):
        trading_time = models.DateTimeField(null=True, blank=True, verbose_name='交易时间')
        transaction_type = models.CharField(null=True, blank=True, verbose_name='交易类型', max_length=8)
        other_trade = models.CharField(null=True, blank=True, verbose_name='交易对方', max_length=255)
        goods = models.CharField(null=True, blank=True, verbose_name='商品', max_length=255)
        in_out = models.CharField(null=True, blank=True, verbose_name='收/支', max_length=4)
        amount = models.CharField(null=True, blank=True, verbose_name='金额(元)', max_length=11)
        payment_method = models.CharField(null=True, blank=True, verbose_name='支付方式', max_length=22)
        current_status = models.CharField(null=True, blank=True, verbose_name='当前状态', max_length=10)
        transaction_order_number = models.CharField(blank=True, verbose_name='交易单号', max_length=255, primary_key=True)
        business_order_number = models.CharField(null=True, blank=True, verbose_name='商户单号', max_length=255)
        remarks = models.CharField(null=True, blank=True, verbose_name='备注', max_length=255)
        owner = models.ForeignKey(User, models.CASCADE)
    
        class Meta:
            verbose_name = '微信账单流水'
            verbose_name_plural = verbose_name
            db_table = 'wechat'
            ordering = ('-transaction_order_number',)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    支付宝账单模型

    和微信账单模型一样,除了交易时间是日期类型,所以用 models.DateTimeField 类型,其他都用 models.CharField 类型:

    # _*_ coding:utf-8 _*_
    from django.db import models
    from django.contrib.auth.models import User
    
    # Create your models here.
    
    
    class Alipay(models.Model):
        in_out = models.CharField(null=True, blank=True, verbose_name='收/支', max_length=4)
        trade_user = models.CharField(null=True, blank=True, verbose_name='交易对方', max_length=255)
        other_account = models.CharField(null=True, blank=True, verbose_name='对方账号', max_length=255)
        product_description = models.CharField(null=True, blank=True, verbose_name='商品说明', max_length=255)
        in_out_method = models.CharField(null=True, blank=True, verbose_name='收/付款方式', max_length=22)
        amount = models.CharField(null=True, blank=True, verbose_name='金额', max_length=11)
        trading_status = models.CharField(null=True, blank=True, verbose_name='交易状态', max_length=10)
        transactions_classification = models.CharField(null=True, blank=True, verbose_name='交易分类', max_length=8)
        transaction_order_number = models.CharField(blank=True, verbose_name='交易订单号', max_length=255, primary_key=True)
        business_order_number = models.CharField(null=True, blank=True, verbose_name='商家订单号', max_length=255)
        trading_time = models.DateTimeField(null=True, blank=True, verbose_name='交易时间')
        owner = models.ForeignKey(User, models.CASCADE)
    
        class Meta:
            verbose_name = '支付宝账单流水'
            verbose_name_plural = verbose_name
            db_table = 'alipay'
            ordering = ('-transaction_order_number',)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    用户设置模型

    # _*_ coding:utf-8 _*_
    from django.db import models
    from django.contrib.auth.models import User
    
    # Create your models here.
    
    
    class Setting(models.Model):
        name = models.CharField(verbose_name='姓名', max_length=10)
        sex = models.CharField(verbose_name='性别', max_length=2)
        heads = models.ImageField(verbose_name='头像')
        wx_rules = models.TextField(verbose_name='微信收支规则')
        zfb_rules = models.TextField(verbose_name='支付宝收支规则')
        last_ip = models.GenericIPAddressField(verbose_name='上次登录IP地址')
        owner = models.ForeignKey(User, models.CASCADE)
    
        class Meta:
            verbose_name = '用户设置'
            verbose_name_plural = verbose_name
            db_table = 'setting'
            ordering = ('-id',)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    执行数据库牵引

    python manage.py makemigrations
    python manage.py migrate
    
    • 1
    • 2

    在PyCharm中查看数据库信息

    View > Tool Windows > Database

    在这里插入图片描述

    Data Source > SQLite

    在这里插入图片描述

    选择 db.sqlite3 文件,看到缺少驱动文件就下载,等待下载完成

    在这里插入图片描述

    测试成功点击 OK 即可连接数据库

    在这里插入图片描述

  • 相关阅读:
    Python的Matplotlib 设置中文字体,字号
    Docker搭建私有仓库
    Linux aarch64交叉编译之 qlibc 基础C/C++库
    ElasticSearch7.3学习(十五)----中文分词器(IK Analyzer)及自定义词库
    有手就行5——jenkins项目构建类型(pipeline流水线项目构建推荐)
    分布式:分布式ID生成策略
    美国SAFECOM发布《采用公共安全云计算的注意事项》指南
    【MindSpore】【lstm】在昇腾芯片上图算融合出错
    Vue2 + Echarts实现3D地图下钻
    maven 更新jar包 仓库下载不下来
  • 原文地址:https://blog.csdn.net/user_from_future/article/details/127818927