[genropy] Re: Ed ora... sagra!!! ;-)

  • From: Massimo Masson <max@xxxxxxxxxxxxxxx>
  • To: genropy@xxxxxxxxxxxxx
  • Date: Tue, 12 Jan 2016 16:54:18 +0100

Il 07/01/2016 18.00, Alessandro Tufi ha scritto:
[...]

nei form, le field che mostrano un campo in relazione con un altra
tabella accettano le "condition" come argomento.
Ad esempio:

    fb.field('state_code', condition='$nazione=:naz',
condition_naz='=.nazione')
[...]

Ok, ho fatto qualche prova con le condition, purtroppo "come al solito" non mi va al primo colpo... :(

Inizialmente ho scritto questo codice:

fb.field('piatto_id', condition='$edizione_id=:edizione', condition_edizione='@ordine_id.edizione_id')

Quello che ho capito (chiedo conferma) è che:
1) inserisco un parametro chiamato condition, nel quale avrò dei "campi" prefissati dai ":"
2) per ogni "campo/parametro" prefissato da : passo un parametro al metodo che si chiamerà condition_nomecampo, nel quale imposto il valore da filtrare

Giusto fin qui?

Se si, nel mio codice avrei messo:
condition='$edizione_id=:edizione"
sono nella tabella delle righe ordine, e devo scegliere il piatto (prodotto). Il prodotto ha un campo "edizione_id", che è quello che vorrei filtrare, voglio che corrisponda ad una certa "edizione" della sagra.
La selezione dell'edizione la sto facendo in testata dell'ordine, dove ho un campo con lo stesso nome "edizione_id" (sono su una diversa tabella).
Ho pertanto pensato di mettere il parametro:
condition_edizione='@ordine_id.edizione_id'
pensando che voglio l'edizione che si trova nel campo "edizione_id" dell'ordine 'ordine_id' (che è ovviamente quello in testata).

Fatto questo però mi sono reso conto che non modifico nel th_form, bensì nel th_struct della mia ViewFromOrdine (la view che uso per editare le righe ordine).

Qui mi sono un po' perso... alla fine ho provato a migrare i parametri condition dalla .field alla .fieldcell... ma "ovviamente" non mi funziona (per mia colpa, intendo) e scrivo qui in lista...

p.s. c'è già documentazione di queste cose da qualche parte?

TIA,
max.



Other related posts: