Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
|
django_projectes_investigacio [2023/06/30 15:00] maria_roser_salietti_anglarill [El model de l'aplicació] |
django_projectes_investigacio [2023/06/30 16:10] (actual) maria_roser_salietti_anglarill [3. Una pàgina per consultar el detall d'hores imputades a cada projecte, per persona investigadora] |
||
|---|---|---|---|
| Línia 17: | Línia 17: | ||
| {{tag> #Daw #DawMp07 #DawMp07Uf2 # | {{tag> #Daw #DawMp07 #DawMp07Uf2 # | ||
| - | ===== Crear projecte ===== | + | ===== Crear el projecte ===== |
| Aneu a l' | Aneu a l' | ||
| + | |||
| + | ===== Crear el model ===== | ||
| + | Per començar cal crear el model (fitxer '' | ||
| + | |||
| + | * Investigator | ||
| + | * Project | ||
| + | |||
| + | <WRAP todo> | ||
| + | Crea la classe Investigador al fitxer '' | ||
| + | </ | ||
| + | |||
| + | --> Proposta implementació Project# | ||
| + | Un projecte té associat un investigador principal (pi) que ha de ser un investigador. Si donem de baixa un investigador del nostre institut de recerca que està com a pi en un projecte, el projecte s'ha de quedar sense invertigador principal. | ||
| + | Per altra banda, volem que la classe per gestionar les assignacions del personal investigador als projectes es digui Assignments, | ||
| + | |||
| + | |||
| + | <file python models.py> | ||
| + | |||
| + | class Project(models.Model): | ||
| + | #completar amb les altres propietats | ||
| + | investigators = models.ManyToManyField(' | ||
| + | pi = models.ForeignKey(' | ||
| + | | ||
| + | </ | ||
| + | <-- | ||
| + | |||
| + | Cal completar el model amb la classe Assignment, per poder guardar la data d' | ||
| + | |||
| + | --> Proposta implementació Assignment# | ||
| + | No s'ha de poder esborrar un projecte si té personal assignat o un investigador si aquest està assignat a algun projecte. | ||
| + | |||
| + | <file python models.py> | ||
| + | |||
| + | class Assignment(models.Model): | ||
| + | project = models.ForeignKey(Project, | ||
| + | investigator = models.ForeignKey(Investigator, | ||
| + | datein = models.DateField() | ||
| + | dateout = models.DateField(null=True, | ||
| + | | ||
| + | </ | ||
| + | <-- | ||
| + | \\ | ||
| + | |||
| + | ===== 1. Gestionar projectes i investigadors (operacions CRUD) ===== | ||
| + | Per poder visualitzar investigadors al taulell d' | ||
| + | |||
| + | <file python admin.py> | ||
| + | from .models import Investigator | ||
| + | admin.site.register(Investigator) | ||
| + | </ | ||
| + | |||
| + | <WRAP todo> | ||
| + | Fes visible al panell d' | ||
| + | Per tal de visualitzar la llista de projectes i investigadors cal que implementis el mètode: <code python> | ||
| + | </ | ||
| + | |||
| + | El panell d' | ||
| + | {{: | ||
| + | {{: | ||
| + | |||
| + | ===== 2. Pàgina per consultar el personal investigador d'un projecte | ||
| + | |||
| + | ===== 3. Pàgina per consultar el detall d' | ||