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

How to retrive data from database in Odoo 8

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

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

谁能帮我怎么做?

初始化.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>

我点击这个 url http://localhost:8069/page/getjson

时收到此错误消息

内部服务器错误

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

building a website howto 中提取,假设您有一个控制器查询 ORM 并在名为 teachers

的变量中返回 academy.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>

你可以试试这个代码: 可能是工作原因。

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([])
   })