Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
8 Antworten
5338 Ansichten

I want to make that if user is set the partner is not required and if partner is set the user is not required.

I posted below the code of my form fields:

The partner_id field has attrs="{'required': [('user_id', '=', False)]}" and the user_id attrs="{'required': [('partner_id', '=', False)]}"

Can some one tell me if this can even work and how?

Avatar
Verwerfen
Beste Antwort

Your attrs syntax seems to be correct. Make sure required=True is not set in the py file in the fields definition. If it is set, make it required=False.

Avatar
Verwerfen
Autor

The python files don't have required. I'm setting required only on views.

Beste Antwort

It's impossible. Model res.user inherits from model res.partner.

class Users(models.Model):
  _inherits = {'res.partner': 'partner_id'}

Avatar
Verwerfen
Autor

they are two different fields in a wizard that works with tasks. one field is the m2o relation to res.partner the other is a m2o relation to res.users. The weird part is when I have set partner_id and not user_id it works but not the other way around.

Well. this is a different situation and it should work. How you defined these fields. It is possible that the reason is also in a completely different place.

Probably partner_id is set in module automatically after selecting the user, and user is not set when is selected the partner

Autor

yeah... the reason is in a different place. removed the attributes from the fields and made both not required and I'm still getting the same validation error.

Autor Beste Antwort

I fed up. Had an if statement in an related model that I used that checked that the partner_id is set and I searched for it with match case enabled so I didn't find it. Sorry Zbik and Sudhir Arya for wasting your time.

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
1
März 19
4288
2
März 18
4668
2
Apr. 17
13870
2
Dez. 19
2563
0
Nov. 18
3120