10.11.12.odoo入门——杂记

第10天

下午开始做一个页面,需要用到framework7,但是我完全不懂前端页面的一些控件啊- - 



第11天

上午:

项目工作要开始走上正轨了,我也要开始做界面了。

问题1:我在

http://docs.framework7.cn/Index/media_list_view.html

使用的多媒体列表的框架,发现不能在一个列表项中加入一个链接<a>,找了同组几位同学没法解决,猜测可能是用到的框架中的类的限制。

于是改使用js实现这个点击改变链接并且传参数

后来才发现javascript的post是不能跳转入新页面的- - 

问题的解决最后是,利用javascript的

<script>
  function go(argu) {
    window.location.href = 'project_details?id=' + argu
  }
</script>

其中argu是通过jinja传入的数据表一条记录的id


遇到问题,如何往odoo里面的数据库进行修改:

虽然是我大胆猜测的,but it works

先用:

project_model = http.request.env['wens.investment.program']   #得到数据模型
project_lists = project_model.sudo().search([('id', '=', id)])  # 获得id相同的记录

获得一些记录,然后直接对project_lists[I].某个字段 = “赋值”就可以完成修改数据库的操作


问题2:jinja变量域中的问题:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">

</head>
    <title>Title</title>
<body>
<p>修改成功,1秒后将返回详情页面</p>
{% set ok = 0 %}
{% set id = 0 %}
<!--没有进入循环,传入的数据为空-->
{%for item in data%}
{% id = item.id %}
{%endfor%}
<p>{{id}}</p>
<p>{{ok}}</p>
</body>
<script>
     setTimeout(
     function()
     {
        alert("project_details" + "?id={{id}}");
        this.location.href= "project_details" + "?id={{id}}";
      }
       ,1000)
</script>
</html>

这个id该如何获取,但是这个问题并没有解决,最后采用的是在javascript中再用一次jinja2的for循环获取数据,并在javascript中用变量传递数据

<script>
     myApp.showPreloader('更新数据中')
     setTimeout(
     function()
     {
        myApp.hidePreloader();
        var id = 0
        {% for item in data%}
        id = {{item.id}}
        {%endfor%}
        this.location.href= "program_detail" + "?id=" + id;
      }
       ,1000)
</script>


12

如果有一本书,撸完就能找到合适的工作就好了,就像学生时代那样目标明确

读《python源码剖析》遇到的问题:

 lookdict_string实际上是一个lookdict对于PyStringDict对象的优化版本。python中为什么仅仅提供PyStringObject对象的优化版本,而没有int等其他类型呢?

《python源码剖析》120页给出了答案:

 python自身大量使用了PyDictObject对象,用来维护一个名字空间中变量名和变量值之间的对应关系,或是用来在为函数传递参数时维护参数名与参数值的对应关系。这些对象几乎都是用了PyStringObject对象作为键值对中的key,所以lookdict_string的意义就显得非常重要了。它对Python整体的运行效率都有着重要的影响。


猜你喜欢

转载自blog.csdn.net/qq_33826977/article/details/76653001