如何将URL变量传递给django admin内联表单?
我想从URL参数中预填充管理表单中的值。对于普通字段,只需将/?field_name=值参数添加到URL即可。但是,我的字段位于表单中的管理内联表单集中。有没有办法将URL参数传递给内联表单?例如: models.py:如何将URL变量传递给django admin内联表单?,django,django-admin,Django,Django Admin,我想从URL参数中预填充管理表单中的值。对于普通字段,只需将/?field_name=值参数添加到URL即可。但是,我的字段位于表单中的管理内联表单集中。有没有办法将URL参数传递给内联表单?例如: models.py: class Parent(Model): ... class Child(Model): name = CharField(max_length=20) provenance = ManyToManyField('Provenance') class
class Parent(Model):
...
class Child(Model):
name = CharField(max_length=20)
provenance = ManyToManyField('Provenance')
class Provenance(Model):
child = ForeignKey(Child)
parent = ForeignKey(Parent)
admin.py:
class ProvenanceInline(admin.StackedInline):
model = Provenance
form = myforms.ProvenanceForm
...
class ChildAdmin(admin.ModelAdmin):
form = myforms.ChildForm
[inlines] = ProvenanceInline
...
现在,我有一个用于显示父对象的自定义视图,在该视图中,我希望有一个用于创建该父对象的子对象的链接。从理论上讲,这是可行的:
<a href="{%url 'admin:myapp_child_add'%}?parent={{origin.pk}}">Add Child</a>
问题是“父”字段隐藏在InlineAdmin表单集中。如何使provenceform看到传递给ChildForm的URL变量
我尝试在ProvenanceInline中重写get\u formset
,或在ChildAdmin中修改get\u inline\u实例
,但我没有成功。(顺便说一句,我的ChildForm被修改,以便它获得传递到其构造函数中的request
变量。这里可能也可以使用self.request
)。欢迎提出任何建议