Как отобразить вид поля One2many в моем пользовательском представлении? - PullRequest
2 голосов
/ 30 сентября 2019

В моем билете много комментариев, и я создал вид для своего комментария и создал поле One2Many в модели билетов. Но это не отображает мой желаемый вид. Вот моя модель

    class Ticket(model.Model):
      _name = 'Tickets'
      comment_ids = fields.One2many('comments', 'comment_id')

Вот моя вторая модель

class Comments(models.Model):
_name = 'comments'

comment = fields.Text(string="Comment")
comment_id = fields.Char(string='Comment Id')

Вот мой взгляд на Билет:

<notebook>
    <page name="body" string="Body">
        <field name="comment_ids" />    
    </page>
</notebook>

Вот форма моего комментария:

<form>
   <div class="form-group">
      <label name="comment">Comment:</label>
      <textarea class="form-control" rows="5" />
   </div>
   <button type="submit" class="btn btn-primary">Submit</button>
</form>

Вот дерево моего комментария:

<tree>
   <field name = 'comment_id'/>
   <field name = 'comment'/>
</tree>

1 Ответ

3 голосов
/ 30 сентября 2019

Если ваша модель комментария имеет более одного вида дерева или формы , если вы не укажете вид ведьмы, который хотите отобразить, Odoo вычислит тот, который имеет наивысший приоритет:

поэтому просто укажите id из tree view в поле one2many

<field name="comment_ids" context="{'tree_view_ref': 'your_app.tree_view_xml_id', 'form_view_ref': 'your_app.form_view_xml_id'}"/>

Или вы можете использовать встроенный вид:

<field name="comment_ids">
        <tree>
            <field name = 'comment_id'/>
            <field name = 'comment'/>
        </tree>
        <form>
           <div class="form-group">
              <label name="comment">Comment:</label>
              <textarea class="form-control" rows="5" />
           </div>
           <button type="submit" class="btn btn-primary">Submit</button>
        </form>
    </field>

Примечание : если у вас есть только эти два представления, это означает, что Odoo не загружал эти представления, поэтому проверьте, находится ли файл XML в файле manifest, и убедитесь, что вы upgrade ваш модуль.

...