Tôi có hai mô hình, Event
và Series
, trong đó mỗi Sự kiện thuộc về một Series. Hầu hết thời gian, một sự kiện của start_time
của Sự kiện giống với Dòng của nó 'default_time
.Inlinesulating inlines dựa trên mô hình phụ huynh trong Admin Django
Đây là phiên bản rút gọn của các kiểu máy.
#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)
Tôi sử dụng dòng chữ trong ứng dụng quản trị để tôi có thể chỉnh sửa tất cả Sự kiện cho một chuỗi cùng một lúc.
Nếu một chuỗi đã được tạo, tôi muốn chuẩn bị trước số start_time
cho mỗi Sự kiện nội tuyến với Dòng 'default_time
. Cho đến nay, tôi đã tạo một biểu mẫu quản trị viên mô hình cho Sự kiện và sử dụng tùy chọn initial
để điền trước trường thời gian với thời gian cố định.
#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,]
Tôi không chắc chắn cách tiếp tục từ đây. Có thể mở rộng mã, sao cho giá trị ban đầu cho trường start_time
là Dòng 'default_time
?
thấy điều này: http://stackoverflow.com/questions/442040/pre-populate-an-inline-formset –