나는 odoo9에서 일하고있다. 이제 사용자가 파트너를 선택하고 판매 내역을 얻을 수있는보기가 필요했습니다.odoo9에서 모델에 데이터를 저장하지 않는보기를 작성하는 방법은 무엇입니까?
이제 모델 "sale.history"를 만들었지 만 선택한 데이터를 db의 레코드로 저장합니다. 나는 정말로 이것을 필요로하지 않는다.
어떻게보기를 만들 수 있습니까?
나는 odoo9에서 일하고있다. 이제 사용자가 파트너를 선택하고 판매 내역을 얻을 수있는보기가 필요했습니다.odoo9에서 모델에 데이터를 저장하지 않는보기를 작성하는 방법은 무엇입니까?
이제 모델 "sale.history"를 만들었지 만 선택한 데이터를 db의 레코드로 저장합니다. 나는 정말로 이것을 필요로하지 않는다.
어떻게보기를 만들 수 있습니까?
당신은보기/보고서에 대한 두 가지 옵션이 있습니다.
모델 상속 사용 TransientModel
대신 Model
. 데이터베이스의 일시적인 모델 레코드는 자주 실행되는 cron 작업에 의해 삭제됩니다. PopUp/Wizard라는 전자 메일 메시지는 좋은 예입니다.
판매 주문에 대한 보고서를 직접 작성하십시오 (데이터베이스보기). 실제로 이미보고/판매/판매 분석에 대한 보고서가 하나 있습니다. 보고서의 모델은 sale.report
입니다. 알고 싶다면 어떻게 완료됩니까? 따로 TransientModel
(낡은 API) 또는 AbstractModel
(새 API)를 사용하는
... 당신은 단순히 false로 필드의 store
속성을 설정할 수 있습니다, 그 방법은 당신의 필드는 데이터베이스에 지속되지 않습니다 단순히 '보기 필드'가됩니다. (danidee가 제안)
class sale_history(model.Model):
_name='sale.history'
partner = fields.Many2one('res.partner', store=False)
파트너 필드
는 데이터베이스당신은 모델의 필드에 잘못된 점 =를 사용할 수 있습니다에 저장되지 얻을 않습니다.
또한 모델에서 create 메소드를 겹쳐 쓸 수도 있습니다.
질문 - "sale.history"모델의 목적은 무엇입니까? 데이터를 전혀 저장하지 않으면 새 모델을 만드는 대신 "res.partner"에 대한 새로운보기를 만드는 것이 좋습니다.