首页 > 其他分享 >测试

测试

时间:2023-07-07 10:24:19浏览次数:19  
标签:name models max 测试 model class verbose

# 标题一

请问考虑

标题二

顺利打开解放螺丝扣
# django分表存儲的model設計

import json
from django.db import models
from django.http import HttpResponse

class Object:
    def __init__(self, **kwargs):
        self.__dict__.update(kwargs)


def _model_new(cls, *args, **kwargs):
    return cls(*args, **kwargs)


class ShardModel(object):
    """
    ShardModel support table horizontal partition.
    """
    _shard_db_models = {}

    def __new__(cls, *args, **kwargs):
        shard_key = kwargs.pop('shard_key', 0)            # % cls.Config.table_num
        model_name = cls.__name__
        model_name += '_%s' % shard_key

        model_class = cls._shard_db_models.get(model_name)
        if model_class is not None:
            return model_class

        # Deep copy attrs
        attrs = dict()
        attrs.update(cls.__dict__)
        if 'objects' in attrs:
            attrs['objects'] = attrs['objects'].__class__()

        # Set table name with shard_key
        meta = Object(**cls.Meta.__dict__)
        meta.db_table = meta.db_table % shard_key

        attrs['Meta'] = meta
        attrs['new'] = classmethod(_model_new)

        # Create model class dynamically
        model_class = type(model_name, tuple([models.Model] + list(cls.__bases__[1:])), attrs)
        cls._shard_db_models[model_name] = model_class
        return model_class


class Stockbasic(models.Model):
    """ 股票基础信息数据,包括股票代码、名称、上市日期、退市日期等 """
    ts_code = models.CharField(verbose_name="TS代码", max_length=20, unique=True)
    symbol = models.CharField(verbose_name="股票代码", max_length=20)
    name = models.CharField(verbose_name="股票名称", max_length=30)
    area = models.CharField(verbose_name="地域", max_length=20)
    industry = models.CharField(verbose_name="所属行业", max_length=20)
    fullname = models.CharField(verbose_name="股票全称", max_length=50)
    enname = models.CharField(verbose_name="英文全称", max_length=50)
    cnspell = models.CharField(verbose_name="拼音缩写", max_length=10)
    market = models.CharField(verbose_name="市场类型", max_length=10)
    exchange = models.CharField(verbose_name="交易所代码", max_length=10)
    curr_type = models.CharField(verbose_name="交易货币", max_length=10)
    list_choice = (
        ("L", "上市"),
        ("D", "退市"),
        ("P", "暂停上市"),
    )
    list_status = models.SmallIntegerField(verbose_name="上市状态", choices=list_choice, default="L")
    list_date = models.DateField(verbose_name="上市日期")
    delist_date = models.DateField(verbose_name="退市日期")
    hs_choice = (
        ("N", "否"),
        ("H", "沪股通"),
        ("S", "深股通"),
    )
    is_hs = models.SmallIntegerField(verbose_name="是否沪深港通标的", choices=hs_choice, default="N")

    def __str__(self):
        return self.ts_code


class Share(ShardModel):
    ts_code = models.ForeignKey(verbose_name="股票代码", to="Stockbasic", to_field="ts_code", on_delete=models.CASCADE)
    trade_date = models.DateField(verbose_name="交易日期")
    open = models.DecimalField(verbose_name="开盘价", max_digits=18, decimal_places=2)
    high = models.DecimalField(verbose_name="最高价", max_digits=18, decimal_places=2)
    low = models.DecimalField(verbose_name="最低价", max_digits=18, decimal_places=2)
    close = models.DecimalField(verbose_name="收盘价", max_digits=18, decimal_places=2)
    pre_close = models.DecimalField(verbose_name="昨收价(前复权)", max_digits=18, decimal_places=2)
    change1 = models.DecimalField(verbose_name="涨跌额", max_digits=18, decimal_places=2)
    pct_chg = models.DecimalField(verbose_name="涨跌幅", max_digits=18, decimal_places=2)
    vol = models.DecimalField(verbose_name="成交量(手)", max_digits=18, decimal_places=2)
    amount = models.DecimalField(verbose_name="成交额(千元)", max_digits=18, decimal_places=2)

    class Meta:
        app_label = 'default'
        db_table = 'share%s'


# 通过继承ShardModel,Share类就具备的自动分表的功能。 在views中可通过如下方法获取table: share601018......等:
def get_share_info(request):
    ts_code = int(request.GET.get('ts_code'))
    share = models.User(shard_key=ts_code).objects.get(share_id=ts_code)
    return HttpResponse(json.dumps(model_to_dict(share)))

import pandas

1-2


中燃油_top

標題123

为wewerwer

标题三

< 微软

  • ;‘;’
    1. as;ld;
    2. as;dl
      1.

asd-45-454-45-78 we

sdfklksdf

import

skdjf

pubolic

标签:name,models,max,测试,model,class,verbose
From: https://www.cnblogs.com/HeroZhang/p/17534095.html

相关文章

  • 源码分析 | MySQL测试框架 MTR 系列教程(三):源码篇
    作者:卢文双资深数据库内核研发序言:以前对MySQL测试框架MTR的使用,主要集中于SQL正确性验证。近期由于工作需要,深入了解了MTR的方方面面,发现MTR的能力不仅限于此,还支持单元测试、压力测试、代码覆盖率测试、内存错误检测、线程竞争与死锁等功能,因此,本着分享的精神,将其......
  • 特性介绍 | MySQL测试框架 MTR 系列教程(四):语法篇
    作者:卢文双资深数据库内核研发序言:以前对MySQL测试框架MTR的使用,主要集中于SQL正确性验证。近期由于工作需要,深入了解了MTR的方方面面,发现MTR的能力不仅限于此,还支持单元测试、压力测试、代码覆盖率测试、内存错误检测、线程竞争与死锁等功能,因此,本着分享的精神,将其......
  • 微服务设计:测试
    单元测试通常只测试一个函数和方法调用。单元测试对于代码重构非常重要,因为我们知道,如果不小心犯了错误,这些小范围的测试能很快做出提醒,这样我们就可以放心地随时调整代码。运行端到端测试需要部署多个服务。显然,这种测试可以覆盖更大的范围,也让我们对系统的正常工作更有信心。......
  • 痞子衡嵌入式:从功耗测试角度了解i.MXRTxxx系列片内SRAM分区电源控制
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是从功耗测试角度了解i.MXRTxxx系列片内SRAM分区电源控制。我们知道配合MCU一起工作的存储器包含ROM(Flash)和RAM两类,前者主要放RO代码和数据,后者放RW数据。MCU可以没有片内ROM,但是一般都会包含......
  • 20230706巴蜀暑期集训测试总结
    T1我是个大聪明!一眼矩乘。构造转移矩阵构造了3.5h!最开始以为只有\(15\times15\),直接手打。写到一半发现不一定四种颜色都有,是\(52\times52\)的,这时候狗被脑子吃了,还想手打,于是就打到了3h。差不多打了一大半,脑子终于把狗还回来了,意识到就算打完也不可能调得出来,就开始另辟蹊径,......
  • 学会使用 Postman 环境变量,让接口测试更加高效
    在 Postman 中,用Environments来管理环境变量。我们在开发的过程中,往往会用到多个环境:开发环境,测试环境,UAT环境,生产环境等。我们要调用不同环境的API时,只需切换Postman的Environment即可。下面,我们来具体说下Postman环境变量的使用方法。知识扩展:Postman环境设置介绍......
  • RAT蓝队自动化测试框架
    RAT是根据MITREATT&CK战术矩阵测试蓝队检测能力的脚本框架,由python2.7编写,共有50多种不同ATT&CK技术点和编译好的exe程序,根据蓝队人员需要选择进程注入、持久化等操作。仓库地址https://github.com/endgameinc/RTA/tree/master环境要求Python2.7部分脚本依赖如......
  • 软件测试常用工具总结(测试管理、单元测试、接口测试、自动化测试、性能测试、负载测试
    在软件测试的过程中,多多少少都是会接触到一些测试工具,作为辅助测试用的,以提高测试工作的效率,使用好了测试工具,能对测试起到一个很好的作用,同时,有些公司,也会要求掌握一些测试工具,或者,是在面试时,也会被问到测试工具的,比如,在面试时,最常见的问题便是,你在测试时,用的是什么测试工具?或者......
  • 软件测试面试经验分享(提升竞争力),帮助软件测试工程师们能够顺利的面试通过
    软件测试面试经验分享(提升竞争力)引言在竞争激烈的软件测试行业,顺利通过面试是每个测试工程师的关键目标。面试是评估一个人技能和能力的重要指标,能否在面试中展现出自己的实力往往决定了求职者的去留。本文将分享一些软件测试面试的经验和技巧,帮助测试工程师们提升自己的竞争力......
  • 中小型系统必要可行的性能测试实践--jmeter落地实践
    为什么选择jmeter,业界用的广而且免费。本篇着重如何具体的开展性能测试:应该做哪些类型的性能测试?每种类型下采用什么类型线程组?每种类型监控数据的角度?在具体场景下的思路、具体配置?一、性能场景的分析与创建压测的场景来源于性能需求,性能需求侧重点不同,选择的测试场景和压测类......