Verwenden Sie die Django Scheduler App mit Ihren eigenen Modellen

Mit dem https://github.com/llazzaro/django-scheduler möchte ich meine eigenen Modelle im Kalender verwenden, sie haben auch ein Start- und Enddatum.

Ich denke, es gibt mehrere Möglichkeiten, um dieses Problem zu lösen:

  1. Hack die aktuelle Zeitplan App, um es mit meinen Modellen interagieren.
  2. Erstellen von Standardereignismodellen beim Erstellen meiner Modelle mit dem Save () Override.
  3. Verwenden Sie die Funktion "Verknüpfung von Ereignissen zu generischen Objekten" der Django-Scheduler App.
  4. Verlängern Sie die Standard-Event-Modelle, um meine eigenen Anforderungen zu erfüllen.

Ich möchte die dritte Option verwenden, aber ich würde nicht wissen, wie man es benutzt, da ein Kalender mit einem einzelnen Objekt verknüpft ist.

Ich bin neu bei Python und Django, also könnte mir jemand Rat geben?

2 Solutions collect form web for “Verwenden Sie die Django Scheduler App mit Ihren eigenen Modellen”

Um die Option 3 zu erreichen, würde Ihr generisches Objekt einen Fremdschlüssel haben, der mit einem Event aus dieser Kalenderanwendung verknüpft ist.

Django Scheduler hat eine ziemlich versteckte Einstellung (nicht einmal in offiziellen docs berichtet), die den Trick machen können:

SCHEDULER_BASE_CLASSES

 SCHEDULER_BASE_CLASSES = { 'Event': ['my_app.models.EventAbstract1', 'my_app.models.EventAbstract2'] 'Calendar': [my_app.models.CalendarAbstract'] } 

So können Sie Ihr eigenes abstraktes Modell definieren und den Kalender erweitern.

BEARBEITEN

Als @Jheasly in seinem Kommentar gesagt, ist diese Funktion jetzt dokumentiert.

  • Ändern Sie das klickbare Feld in Django admin list_display
  • Daten aus Form und Anzeige in Vorlage abrufen
  • Django: Hinzufügen von Inline-Formate-Zeilen ohne Javascript
  • Bearbeiten des Modells ForeignKey als Inline in der Django-Administration?
  • Erstellen Sie eine Zeile des Datums beim Erstellen von Superuser
  • Wie bekomme ich einen absoluten Pfad, nachdem ich in Django hochgeladen wurde?
  • Python ist die beste Programmiersprache der Welt.