2016-07-25 10 views
2

Ich habe ein Problem mit Baum/Formularansicht in Odoo.Odoo. Baum/Formular Anzeige Feld Daten

Mein Modell haben solche Klassen: https://yadi.sk/d/sCLVo3gHtbVEu

class URLList(models.Model): 
    _name = 'webvisitorcalc.url_list' 

    url = fields.Char(string="URL", required=True) 
    url_parametes = fields.Char(string="URL parameters") #пераметры URLб всё что идёт после ? 

    target_session_id = fields.One2many('webvisitorcalc.session_visitor', 'target_url_ids', string='Target URL') 

    site_trip_prevouse_id = fields.One2many('webvisitorcalc.site_trip', 'url_prevouse_ids', string='Prevouse URL') 
    site_trip_current_id = fields.One2many('webvisitorcalc.site_trip', 'url_current_ids', string='Current URL') 


    remote_sites_id = fields.One2many('webvisitorcalc.remote_sites', 'site_url_ids', string='Remote site page with URL') 
    remote_sites_target_url_id = fields.One2many('webvisitorcalc.remote_sites', 'target_url_ids', string='URL on remote site page') 

    @api.multi 
    def url_exist(self, cr, SUPERUSER_ID, urlForCheck): 
     _logger.error("Check URL exist in DB ") 
     result = False 
     if (self.search_count(cr, SUPERUSER_ID, [('url', '=', urlForCheck)])>0): 
      result = True 
     return result 

class SiteTrip(models.Model): 
    _name = 'webvisitorcalc.site_trip' 

    session_ids = fields.Many2one('webvisitorcalc.session_visitor', string='Session ID', index=True) 
    url_prevouse_ids = fields.Many2one('webvisitorcalc.url_list', string='Prevouse URL', index=True) 
    url_current_ids = fields.Many2one('webvisitorcalc.url_list', string='Current URL', index=True) 

Vorlage für dieses Modell: https://yadi.sk/d/Ob0o65PutbVFA

<record model="ir.actions.act_window" id="site_trip_list_action"> 
    <field name="name">Site trip</field> 
    <field name="res_model">webvisitorcalc.site_trip</field> 
    <field name="view_type">form</field> 
    <field name="view_mode">tree,form</field> 
    <field name="help" type="html"> 
     <p class="oe_view_nocontent_create">Create the first record for site trip 
     </p> 
    </field> 
</record> 
<record model="ir.actions.act_window" id="url_list_list_action"> 
    <field name="name">URL list</field> 
    <field name="res_model">webvisitorcalc.url_list</field> 
    <field name="view_type">form</field> 
    <field name="view_mode">tree,form</field> 
    <field name="help" type="html"> 
     <p class="oe_view_nocontent_create">Create the first url 
     </p> 
    </field> 
</record> 

<record model="ir.ui.view" id="site_trip_tree_view"> 
    <field name="name">site_trip.tree</field> 
    <field name="model">webvisitorcalc.site_trip</field> 
    <field name="arch" type="xml"> 
     <tree string="URL list tree"> 
      <field name="session_ids"/> 
      <field name="url_prevouse_ids" string="PrevURL"> 
      </field> 
      <!--<field name="url_prevouse_ids"/>--> 
      <field name="url_current_ids"/> 
     </tree> 
    </field> 
</record> 

<record model="ir.ui.view" id="url_list_tree_view"> 
    <field name="name">url_list.tree</field> 
    <field name="model">webvisitorcalc.url_list</field> 
    <field name="arch" type="xml"> 
     <tree string="URL list tree"> 
      <field name="url"/> 
      <field name="url_parametes"/> 
     </tree> 
    </field> 
</record> 

<menuitem id="site_trip_menu" name="Site trip" parent="webvisitorcalc_menu" 
      action="site_trip_list_action"/> 

<menuitem id="url_list_menu" name="URL list" parent="webvisitorcalc_menu" 
      action="url_list_list_action"/> 

Screenshots sind hier:

Baumansicht für die Klasse SiteTrip http://i.stack.imgur.com/FjRDK.png

Formularansicht für Klasse SiteTrip http://i.stack.imgur.com/uDbOp.png

Baumansicht für die Klasse URLList http://i.stack.imgur.com/tXzqL.png

Formularansicht für Klasse URLList http://i.stack.imgur.com/oVnqg.png

Wie Sie sehen URLList angezeigt Ordnung. Für Klasse SiteTrip vorhandenes Problem. Feld zeigt keine Daten von URLList an. Dies ist ein Feld gespeichertes Element wie webvisitorcalc.url_list.ID (Array?). Wie kann ich in diesem Feld echte Daten anzeigen (zB URL: http://some-site.com/page.html)? URL in URLList muss uniq sein. SiteTrip muss nur die ID des URLList-Datensatzes gespeichert haben.

UPD:

class RemoteSites(models.Model): 
    _name = 'webvisitorcalc.remote_sites' 

    site_id = advert_company_id = fields.One2many('webvisitorcalc.site_list', 'remote_sites_ids', string='Site') 
    site_url_ids = fields.Many2one('webvisitorcalc.url_list', string='URL page ') 
    target_url_ids = fields.Many2one('webvisitorcalc.url_list', string='URL target page') 
+0

umfassen Code hier auf Stackoverflow kühlere Material zu tun, es erleichtert es anderen, Ihnen zu helfen – danidee

+0

Ich kann es nicht tun. Jedes Mal, wenn der Parser über einen Fehler berichtet. – Skif

+0

es ist unglaublich. Jetzt funktioniert es gut. Ich habe eine Stunde verloren, um diesen Beitrag mit Code zu veröffentlichen. – Skif

Antwort

1

Sie haben offensichtlich kein Namensfeld auf Ihrem webvisitorcalc.url_list Modell. Odoo benötigt dies, um es als Name im Webclient zu verwenden, wo immer Sie dieses Modell verwenden, z. many2one-Feld oder in der Breadcrumb-Navigation.

Entweder Sie definieren ein Namensfeld oder Sie setzen _name auf Ihrer Klasse mit einem anderen Feldbezeichner.

Sie können auch (Wieder-) definieren die Methode display_name auf Ihrem Modell (genügend Beispiele in Odoo Code), wo Sie mit dem Rekordanzeigenamen :-)

+1

Tnx, ich werde versuchen, es zu tun! – Skif

+0

Es funktioniert! Tnx viel – Skif

+0

Welchen Weg haben Sie benutzt? – CZoellner