Vorbelegen von Inlines basierend auf dem übergeordneten Modell im Django Admin
Ich habe zwei Modelle,Event
undSeries
, wobei jedes Event zu einer Serie gehört. Meistens ein Eventstart_time
ist das gleiche wie seine Seriedefault_time
.
Hier ist eine abgespeckte Version der Modelle.
#models.py
class Series(models.Model):
name = models.CharField(max_length=50)
default_time = models.TimeField()
class Event(models.Model):
name = models.CharField(max_length=50)
date = models.DateField()
start_time = models.TimeField()
series = models.ForeignKey(Series)
Ich verwende Inlines in der Admin-Anwendung, damit ich alle Ereignisse für eine Serie gleichzeitig bearbeiten kann.
Wenn bereits eine Serie erstellt wurde, möchte ich die vorab ausfüllenstart_time
für jedes Inline-Event mit der Seriedefault_time
. Bisher habe ich ein Model Admin Formular für Event erstellt und das verwendetinitial
Option, das Zeitfeld mit einer festen Zeit vorab auszufüllen.
#admin.py
...
import datetime
class OEventInlineAdminForm(forms.ModelForm):
start_time = forms.TimeField(initial=datetime.time(18,30,00))
class Meta:
model = OEvent
class EventInline(admin.TabularInline):
form = EventInlineAdminForm
model = Event
class SeriesAdmin(admin.ModelAdmin):
inlines = [EventInline,]
Ich bin nicht sicher, wie ich von hier aus vorgehen soll. Ist es möglich, den Code zu erweitern, so dass der Anfangswert für diestart_time
Feld ist die Serie "default_time
?