2014-12-02 16 views
5

Sto cercando applicazioni django per gestire il tipo di evento Calendario attività e il progetto di esempio django-schedule fornisce un progetto di esempio ma non so come mappare la mia classe Attività (titolo & startTime) con la classe di eventi del programma django. La documentazione non chiarisce come posso farlo? Veramente approverà se alcuni puntatori o passaggi possono essere forniti qui per utilizzare app django-schedule con un'app esistenteCome utilizzare l'app django-scheduler nell'app esistente

La soluzione qui Using the Django scheduler app with your own models è presente ma non riesco a ricavarne molto. Sto cercando un po 'di tutorial su come collegare Django-scheduler per il mio modello

risposta

3

trovato questo buona conversazione su internet https://groups.google.com/forum/#!topic/pinax-users/9NoRWjMdiyM e con come riferimento spiegherà la logica, come di seguito:

  1. Assumere la classe compito di essere avere data_ora & data_ora_fine & Titolo
  2. da schedule.models importare eventi, EventRelation, Calendar (per chi proviene da Schedule app)
  3. l'override del metodo dell'oggetto Task salva per creare nuovo evento come sotto, modificato il codice fornito nella link qui sopra per renderlo più chiaro
  4. Il codice cerca un calendario esistente e attribuisce l'evento ad esso che è collegata con l'oggetto Task tramite rapporto
  5. provato il codice qui sotto per estendere l'applicazione del progetto-esempio forniti con la fonte ed ha funzionato benissimo

    def save(self, force_insert=False, force_update=False): 
        new_task = False 
        if not self.id: 
         new_task = True 
        super(Task, self).save(force_insert, force_update) 
        end = self.startDateTime + timedelta(minutes=24*60) 
        title = "This is test Task" 
        if new_task: 
         event = Event(start=self.startDateTime, end=end,title=title, 
            description=self.description) 
         event.save() 
         rel = EventRelation.objects.create_relation(event, self) 
         rel.save() 
         try: 
          cal = Calendar.objects.get(pk=1) 
         except Calendar.DoesNotExist: 
          cal = Calendar(name="Community Calendar") 
          cal.save() 
         cal.events.add(event) 
        else: 
         event = Event.objects.get_for_object(self)[0] 
         event.start = self.startDateTime 
         event.end = end 
         event.title = title 
         event.description = self.description 
         event.save() 
    

ancora per la ricerca di estendere la funzionalità Click sull'evento del calendario, che attualmente dà una casella di testo, come personalizzare che con un collegamento ipertestuale resta da vedere, ma il codice qui sopra risponde alla domanda e parte del problema

Problemi correlati