我有一个Person
模型,它ForeignKey
本身有一个字段,称为mother
. 当用户进入“添加”管理表单时,我想为 定义一个初始值mother
,以防有GET('mother')
参数,或者将其留空,以防没有参数。
我实际上有2个问题:
- 如何访问里面的请求
ModelAdmin
? - 如何定义
ForeignKey
字段的初始值?
在模型.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.:当然,我可能问错了问题,所以我感谢任何解决问题的帮助。