在Django admin中,什么';显示编辑表单上未关联绑定的对象列表的最简单方法是什么?
在模型的编辑表单上,我想显示一个模型中的其他对象列表,该模型没有与该对象进行关联绑定,但有一个字段,我想根据该模型中的值查找该字段。我更希望第二个模型显示为列表,与该模型在列表视图中显示的方式相同,仅根据主模型上的特定值过滤子集。它不需要能够编辑其他模型的任何字段,实际上这并不可取在Django admin中,什么';显示编辑表单上未关联绑定的对象列表的最简单方法是什么?,django,django-admin,Django,Django Admin,在模型的编辑表单上,我想显示一个模型中的其他对象列表,该模型没有与该对象进行关联绑定,但有一个字段,我想根据该模型中的值查找该字段。我更希望第二个模型显示为列表,与该模型在列表视图中显示的方式相同,仅根据主模型上的特定值过滤子集。它不需要能够编辑其他模型的任何字段,实际上这并不可取 在admin.py中有没有一种简单的方法可以做到这一点而不必弄乱管理模板?我在这里遇到了一个类似的问题:,我修改了它以处理更改表单 class QuestionAdmin(admin.ModelAdmin):
在admin.py中有没有一种简单的方法可以做到这一点而不必弄乱管理模板?我在这里遇到了一个类似的问题:,我修改了它以处理更改表单
class QuestionAdmin(admin.ModelAdmin):
readonly_fields = ()
def choices(self, instance):
html = ''
choice_list = Choice.objects.all().filter(question=instance)
for obj in choice_list:
html += '<p>%s</p>' % obj.choice_text
return html
choices.allow_tags = True
def get_readonly_fields(self, requst, obj=None):
if obj:
return self.readonly_fields + ('choices',)
return self.readonly_fields
类问题管理员(admin.ModelAdmin):
只读_字段=()
def选项(自身、实例):
html=“”
choice\u list=choice.objects.all().filter(question=instance)
对于选项列表中的obj:
html+='%s'%obj.choice\u文本
返回html
choices.allow_tags=True
def get_readonly_字段(self、requst、obj=None):
如果obj:
返回self.readonly_字段+('choices',)
返回self.readonly\u字段
现在的情况是,要将信息添加到表单中,它必须是只读的。因此,get_readonly_fields方法在仅更改对象时将choices字段添加到admin中。加载选项后,它将根据您想要的任何条件进行搜索,并将其显示为HTML
这些模型基于django项目的django教程,但如果您愿意,我可以向您发送完整的应用程序 是否存在与这两种型号相关的外键?或者是什么关系?不,joelgoldstick,这就是为什么我说他们没有关系。我更感兴趣的是如何显示结果,而不是如何进行查找。不完全确定您的用例是什么。也许你可以用一个自定义字段来完成。因此,没有简单的方法:-(.我更新了我的一个项目以使用此策略: