Event
및 Series
의 두 가지 모델이 있습니다. 각 이벤트는 Series에 속합니다. 대부분의 경우 이벤트 start_time
은 시리즈 'default_time
과 동일합니다.Django 관리자의 상위 모델을 기반으로 인라인 미리 채우기
다음은 모델의 버전입니다. 나는 한 번에 시리즈에 대한 모든 이벤트를 편집 할 수 있도록
#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)
나는, 관리자 응용 프로그램에서 인라인을 사용합니다.
시리즈가 이미 생성 된 경우 시리즈 'default_time
이있는 각 인라인 이벤트에 대해 start_time
을 미리 채워야합니다. 지금까지 Event에 대한 모델 관리 양식을 만들고 initial
옵션을 사용하여 고정 시간으로 시간 필드를 미리 채 웁니다.
#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,]
여기부터 진행하는 방법을 모르겠다. start_time
필드의 초기 값이 Series 'default_time
이되도록 코드를 확장 할 수 있습니까?
다음을 참조하십시오 : http://stackoverflow.com/questions/442040/pre-populate-an-inline-formset –