Wstępne wypełnianie linii w oparciu o model macierzysty w administratorze Django
Mam dwa modele,Event
iSeries
, gdzie każde wydarzenie należy do serii. Większość czasu to wydarzeniestart_time
jest taki sam jak jego seria ”default_time
.
Oto uproszczona wersja modeli.
#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)
Używam inline w aplikacji admin, dzięki czemu mogę edytować wszystkie wydarzenia dla serii jednocześnie.
Jeśli seria została już utworzona, chcę wypełnić polestart_time
dla każdego wydarzenia z serii „inline”default_time
. Do tej pory utworzyłem formularz administracyjny dla Eventu i użyłeminitial
opcja wypełnienia pola czasu stałym czasem.
#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,]
Nie jestem pewien, jak stąd postępować. Czy możliwe jest rozszerzenie kodu, tak aby wartość początkowa dlastart_time
pole to seria ”default_time
?