django 动态更新属性值

class TestTime(models.Model):
    """
    功能说明:指定测试的每一关总用时
    """
    test = models.ForeignKey(Test, verbose_name=u"主测试ID")
    level_1 = models.IntegerField(u"关卡1用时", default=0)
    level_2 = models.IntegerField(u"关卡2用时", default=0)
    level_3 = models.IntegerField(u"关卡3用时", default=0)
    level_4 = models.IntegerField(u"关卡4用时", default=0)
    level_5 = models.IntegerField(u"关卡5用时", default=0)
    level_6 = models.IntegerField(u"关卡6用时", default=0)
    level_7 = models.IntegerField(u"关卡7用时", default=0)
    level_8 = models.IntegerField(u"关卡8用时", default=0)
    objects = TestTimeManager()

    class Meta:
        db_table = "pxb_test_time"

class TestTimeManager(models.Manager):
    """
    功能说明:TestTime 扩展
    """
    def set_time(self, test_id, level_id, use_time):
        """设置闯关时间"""
        if not str(use_time).isdigit():
            return
        use_time = int(use_time)
        test_time = self.filter(test=test_id)
        if test_time:
            test_time = test_time[0]
        else:
            test_time = TestTime(test_id=test_id)
            test_time.save()
        # kwargs = {‘level_id‘: F("level_id") + use_time}
        used_time = getattr(test_time, level_id, 0)
        use_time += used_time
        kwargs = {level_id: use_time}   # 设置动态参数
        self.filter(test=test_id).update(**kwargs)

lever_id = 3
use_time = 30
TestTime.objects.set_time(test_id, "level_%s" % level_id, use_time)  # 添加闯关时间

.

时间: 2024-11-03 22:09:21

django 动态更新属性值的相关文章

js 动态修改属性值 动态修改图片,字等

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv = "content-type" content="text/html;charset=utf-8"/> &

反射学习2-通过反射机制动态获取属性的值模拟Struts的自动赋值

一.准备知识:   Java反射机制   处理事务的JavaBean   String的操作常用方法 二.模拟步骤   这里我们通过反射机制动态获取属性的值模拟Struts中的自动赋值. 1.首先创建一个简单的User类包含两个属性username和userid以及getter.setter方法: class User {     public User(){} private String username; private String userid; public String getUs

jQuery获取Select选中的Text和Value,根据Value值动态添加属性等

语法解释:1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text3. var checkValue=$("#select_id").val();  //获取Selec

动态修改css文件中,具体的class中的个别属性值。

//修改class的属性值 //javascript方式 function setCssClassProperty(pSheetObj,pClassName,pProperty,pValue) { var rules = pSheetObj.sheet.cssRules; var rule; var selectorText; for (i = 0; i < rules.length; i++) { rule = rules[i]; selectorText = rule.selectorTex

获取一个对象的属性/属性值,以及动态给属性赋值

//定义类 public class MyClass { public int Property1 { get; set; } public string Property2 { get; set; } } MyClass tmp_Class = new MyClass(); tmp_Class.Property1 = 2; tmp_Class.Property2 = "aq23iu"; Type type = tmp_Class.GetType(); //获取类型 System.Re

iOS 动态更新

iOS 动态更新 App 动态更新 1.控件到 window 的层级关系: 2.分析控件的详细路径: 3.动态修改控件: 4.工具篇: 视图的层级关系: 每个 App , 至少有一个根 Window , 通常情况下我们只用一个 .window 有一个 rootViewController , 这就是我们所谓的根视图 , 我们所有的控制器都是放在 rootViewController 里面的. 这个是最简单的层级关系 如果在项目里有了这么一个路径 , 我们可以做什么呢? 在当项目很复杂 , 可以其

JAVA代码热部署,在线不停服动态更新

本地debug的时候,可以实时编译并更新代码,线上也可以不停服来动态更新类,即所说的java热部署. JDK代理的两种方式: 1.premain方式是Java SE5开始就提供的代理方式,但其必须在命令行指定代理jar,并且代理类必须在main方法前启动,它要求开发者在应用启动前就必须确认代理的处理逻辑和参数内容等等 2.agentmain方式是JavaSE6开始提供,它可以在应用程序的VM启动后再动态添加代理的方式 agentmain应用场景: 比如正常的生产环境下,一般不会开启代理功能,但是

ASP.NET MVC中实现属性和属性值的组合,即笛卡尔乘积02, 在界面实现

在"ASP.NET MVC中实现属性和属性值的组合,即笛卡尔乘积01, 在控制台实现"中,在控制台应用程序中实现了属性值的笛卡尔乘积.本篇在界面中实现.需要实现的大致如下: 在界面中勾选CheckBoxList中属性值选项: 把勾选的属性值进行笛卡尔乘积,每行需要填写价格: 我们暂且不考虑这些CheckBoxList是如何显示出来的(在后续有关商品模块的文章中会实现),还需考虑的方面包括: 1.从CheckBoxList中获取到什么再往控制器传? 对于每行的CheckBoxList来说

Centos DNS服务(二)-bind主从配置与基于TSIG加密的动态更新

DNS的主从配置 DNS从服务器也叫辅服DNS服务器,如果网络上某个节点只有一台DNS服务器的话,首先服务器的抗压能力是有限的,当压力达到一定的程度,服务器就可能会宕机罢工,其次如果这台服务器出现了硬件故障那么服务器管理的区域的域名将无法访问.为了解决这些问题,最好的办法就是使用多个DNS服务器同时工作,并实现数据的同步,这样两台服务器就都可以实现域名解析操作. 从服务器要点 1.应该为一台独立的名称服务器 2.主DNS服务器的区域解析库文件中必须有一条NS记录指向从服务器 3.从DNS服务器只