Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
5 Trả lời
35262 Lượt xem

Using Domain how to filter one2many Fields (job_ids) is equal to [] or job_ids.contact_id is null.

domain="[('job_ids','=',[])]"

domain="[('job_ids.contact_id','=',False)]"

Tried the above 2 code is not working

Thanks

Ảnh đại diện
Huỷ bỏ

What do you exactly want to do?

The second one cannot work, you are demanding the contact_id of a list of job_ids

Câu trả lời hay nhất

To define a domain in a One2many field you must write it in the python file and the code goes without quotes:

Example: 

'job_ids': fields.One2many(
         ...
         domain=[('contact_id','=',False)]
​)

the quotes were the problem in all previous answers








Ảnh đại diện
Huỷ bỏ
Tác giả Câu trả lời hay nhất

Actual requirement contact name shows only not related partner.

The below domain is not working job_ids is one2many field in res.partner.contact

'contact_id' : fields.many2one('res.partner.contact', 'Contact', domain="[('job_ids','=',[])]"),
Ảnh đại diện
Huỷ bỏ
Tác giả

Solved domain="[('job_ids','=',False)]")

Okay, I misunderstood your question. I have deleted my answer.

Câu trả lời hay nhất

See example :

display_record is a  boolean field in one2many.

Setting  attrs in all fields.

<tree>
    <field name="field_1" attrs="{'invisible': [('display_record','=',False)]}"/>
    <field name="field_2" attrs="{'invisible': [('display_record','=',False)]}"/>
    <field name="field_3" attrs="{'invisible': [('display_record','=',False)]}"/>
    <field name="field_4" attrs="{'invisible': [('display_record','=',False)]}"/>
    <field name="field_5" attrs="{'invisible': [('display_record','=',False)]}"/>
    <field name="dispaly_record" invisible="1"/>
</tree>

If the value of dispaly_record  is False, the entire row will be invisible. 


Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

To filter in many2one, one2many and many2many, you have to directly use the fields of the related object.

For exemple:

'job_ids': fields.on2many(
         ...
         domain="[('contact_id','=',False)]")
Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Change your second domain as:

domain="[('job_ids.id.contact_id','=',False)]"


Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 6 24
4208
1
thg 12 23
19152
1
thg 7 15
6147
2
thg 3 15
6145
1
thg 3 15
7125