【发布时间】:2013-02-28 21:21:05
【问题描述】:
如何在 django admin 的内联中设置第一个默认行/值?
class Employee(models.Model):
username = models.CharField(_('Username'), max_length=150, null=False, blank=False)
email = models.CharField(_('Email'), max_length=150, null=False, blank=False)
class Details(models.Model):
employee = models.ForeignKey(Employee, verbose_name=_('Employee'), blank=False, null=False)
label = models.CharField(_('Label'), max_length=150, null=False, blank=False)
value = models.CharField(_('Value'), max_length=150, null=False, blank=False)
class DetailsFormset(forms.models.BaseInlineFormSet):
def __init__(self, *args, **kwargs):
self.initial = [
{ 'label': 'first name'},
{'label': 'last name'},
{'label': 'job',}]
super(DetailsFormset, self).__init__(*args, **kwargs)
class DetailsInline(admin.TabularInline):
model = Details
formset = DetailsFormset
fieldsets = [
['', {'fields': ['employee', 'label', 'value']}]
]
class EmployeeAdmin(admin.ModelAdmin):
inlines = [DetailsInline]
但是这一行不起作用
self.initial = [
{ 'label': 'first name'},
{'label': 'last name'},
{'label': 'job',}]
如何使用 django admin 设置默认值?
【问题讨论】:
-
定义
doesn't work。结果如何? -
我希望第一个默认行是名字、姓氏和工作,但这不能定义任何默认值
-
只想提一下,对我来说,在 model 上设置默认值要容易得多。
标签: django django-forms django-admin