【发布时间】:2012-09-21 07:31:46
【问题描述】:
我有一个Person 模型,它本身有一个ForeignKey 字段,称为mother。
当用户进入“添加”管理表单时,我想为mother 定义一个初始值,以防有GET('mother') 参数,或者将其留空,以防没有。
我实际上有两个问题:
- 如何访问
ModelAdmin内的请求? - 如何为
ForeignKey字段定义初始值?
在models.py中:
class Person(models.Model):
name=models.CharField()
mother=models.ForeignKey('self')
在 admin.py 中:
class PersonAdminForm(forms.ModelForm):
class Meta:
model = Person
class PersonAdmin(admin.ModelAdmin):
mother = request.GET.get('mother','') #don`t know how to access request
if mother != '':
form = PersonAdminForm
form.initial={'mother':Person.objects.get(id=mother)}
好吧,这行不通。即使我只尝试定义一个硬编码的初始值,它也不起作用。
我做错了什么?
PS.:当然,我可能问错了问题,所以我感谢任何解决问题的帮助。
【问题讨论】:
标签: django django-models django-forms django-admin django-modeladmin