如何在Odoo 8中从数据库中检索数据

时间:2015-10-26 07:30:29

标签: python odoo openerp-8

我是Odoo 8的新手,我正在尝试用动态表创建网站(使用ul和li),

我不知道如何从数据库中检索数据,

任何人都可以帮我解决这个问题吗?

init .py:

import controller
import books

开瓶器的.py

{
'name': 'Book',
'version': '1.0',
'category': 'Tools',
'summary': 'Test Book',
'description': "",
'depends' : ['base'],
'data' : ['views/book.xml'],
'images': [],
'qweb':[],
'installable' : True,
'application': True,
}

controllerA.py:

import openerp.http as http
from openerp.http import request

class Book(http.Controller):
@http.route('/page/getjson/', auth='public')
def index(self, **kw):
   Books = http.request.env['x_book.book']
   return http.request.render('book.index', {
        'books': Books.search([])
   })

books.py(型号):

from openerp import models, fields

class books(models.Model):

_name = "x_book.book"

name = fields.Char(size=32, string="x_name")
desc = fields.Char(size=32, string="x_desc")

book.xml:

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<template id="index">
    <title>Academy</title>
    <ul>
      <t t-foreach="books" t-as="book">
        <li><t t-esc="book.name"/></li>
      </t>
    </ul>
</template>
</data>
</openerp>

当我点击此网址http://localhost:8069/page/getjson

时收到此错误消息

内部服务器错误

服务器遇到内部错误,无法完成您的请求。服务器过载或应用程序出错。

2 个答案:

答案 0 :(得分:1)

building a website howto中提取,假设您有一个控制器查询ORM并在名为academy.teachers的变量中返回teachers的记录集

class Academy(http.Controller):
@http.route('/academy/academy/', auth='public')
def index(self, **kw):
    Teachers = http.request.env['academy.teachers']
    return http.request.render('academy.index', {
        'teachers': Teachers.search([])
    })

您可以使用

创建列表
    <template id="index">
        <title>Academy</title>
        <ul>
          <t t-foreach="teachers" t-as="teacher">
            <li><t t-esc="teacher.name"/></li>
          </t>
        </ul>
    </template>

答案 1 :(得分:0)

您可以尝试此代码: 可能是它的工作。

from openerp.addons.web import http
from openerp.addons.web.http import request

class Book(http.Controller):
    @http.route('/page/getjson/', type='http', auth='public', website=True)
    def index(self, **kw):
        Books = request.env['x_book.book']
        return request.render('book.index', {
        'books': Books.search([])
   })