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 14:59] maria_roser_salietti_anglarill [Projectes] |
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 16: | Línia 16: | ||
{{tag> #Daw #DawMp07 #DawMp07Uf2 # | {{tag> #Daw #DawMp07 #DawMp07Uf2 # | ||
+ | |||
+ | ===== Crear el projecte ===== | ||
+ | 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' |