Python OpenERP中主键和外键的概念

Python OpenERP中主键和外键的概念,python,openerp,Python,Openerp,我在Openerp中遇到了一个问题。 如何创建一个特定的键作为主键,然后从另一个表引用它。假设我的数据库中有两个表(表A和表B),我只需要从表A到表B的几个字段,而不是全部。。。我怎么能做到? 如果我继承了表A类,它的所有相关字段都将出现在表B中,我不希望出现这些字段。。提前感谢。无法更改主键。它总是id,并且是自动创建的 仅继承少数字段的最简单方法是为表A和表B的共同字段创建基本模型,如示例所示: class base(osv.osv): _name='base' _colum

我在Openerp中遇到了一个问题。 如何创建一个特定的键作为主键,然后从另一个表引用它。假设我的数据库中有两个表(表A和表B),我只需要从表A到表B的几个字段,而不是全部。。。我怎么能做到?
如果我继承了表A类,它的所有相关字段都将出现在表B中,我不希望出现这些字段。。提前感谢。

无法更改主键。它总是
id
,并且是自动创建的

仅继承少数字段的最简单方法是为表A和表B的共同字段创建基本模型,如示例所示:

class base(osv.osv):
    _name='base'
    _columns = dict_of_fields
base()

class A(osv.osv):
    _name='a'
    _inherit='base'
A()

class B(osv.osv):
    _name='b'
    _inherit='base'
B()
在我看来,osv.osv中似乎有一种内置机制,但在我所知道的模块中没有使用它。

为什么要从父类“只需要几个字段”?所有这些都可用有什么问题

有几种继承类型,请参见的第2页

委托继承使父类字段可用,但它们实际上并没有被复制。
在数据库中,它只是为父类表创建一个外键。

谢谢您的回复。。你的意思是,我将创建一个新类,然后将这两个类中的特定字段继承到我的新类中?但这不能解决我的问题。无法获取具有one2many和ManyOne关系的字段吗?我搜索了好几天,但在OpenERP中找不到关系的概念。我不确定我是否理解你的意思。您可以使用多个与A或B相关的字段xxx创建对象C,然后根据浏览记录从_调用xxx.field_。这里您可以得到简单的关系示例:谢谢,这是一个kool示例。。我的问题是我制作了一个有150列的classA,现在我制作了另一个classB,我想从该classA中获取数据到我的新classB中。现在如果我在classB中继承classA,所有字段将自动包含在classB中,新表将有多达200列。。。你能给我一个简单的例子,说明如何从classA中获取一些字段,而不是全部字段吗。感谢您应该使用
orm.Model
而不是不推荐使用的
osv.osv
,并且在声明后调用该类不再是必需的。您需要更好地在表A中指定所需的数据,以及您希望在表B中显示哪些数据。或者您的意思是,当您查看表B中的记录时,您只希望显示表a中的几个字段?