Postgresql 如果删除了一个字段为2的表中的另一个字段为2的表,如何删除该表中的记录?

Postgresql 如果删除了一个字段为2的表中的另一个字段为2的表,如何删除该表中的记录?,postgresql,openerp,Postgresql,Openerp,我正在删除一个表中的一些记录,但该表中的一些字段与其他表ManyOne相关。你们能帮我查询一下吗?我还想删除多个One字段记录 delete from manpower_estimate where manpower_estimate_line IN (select id from res_scheduledjobs where contract_start_date < '2014-12-31' and contract_end_date < '2014-12-31') 这就是

我正在删除一个表中的一些记录,但该表中的一些字段与其他表ManyOne相关。你们能帮我查询一下吗?我还想删除多个One字段记录

delete from manpower_estimate where manpower_estimate_line  IN (select id from res_scheduledjobs where contract_start_date < '2014-12-31' and contract_end_date < '2014-12-31')

这就是我正在做的。res_scheduledjobs是带有一个2Many字段的表,manpower_estimate是带有ManyOne字段的表

如果您在第1840行附近的odoo v10或openerp/fields.py上,请检查odoo/fields.py中ManyOne类的docstring

当您创建一个manyOne字段时,您可以使用ondelete参数向ORM指示删除记录时将发生什么

:param ondelete:删除引用记录时的操作; 可能的值为:“设置空”、“限制”、“级联”

你要找的是cascade

您可能希望避免使用sql删除关系,因为它可能会破坏您的数据库,因为您不使用ORM。另外,如果您确实使用sql删除它们,那么您需要记住其他表可能包含引用


因此,使用ondelete=cascade重新定义字段,然后继续删除。

如果您不想得到与问题相同的摘要答案,请放入一些数据样本。我已经完成了。您现在可以回答吗?请提供您关心的所有关系的DDL和数据样本,如果您不想查看纯文档字符串,请使用