gpt4 book ai didi

python - Django 管理表单字段 - 在选择框中显示对象相关的查询结果

转载 作者:行者123 更新时间:2023-12-01 04:57:03 26 4
gpt4 key购买 nike

我在模型中有一个 CharField 类型的 Django 表单字段。我希望用来自几个不同数据库表的项目填充它,这些项目取决于当前正在编辑的模型

我知道我可以使用 formfield_for_choice_fieldwidgets 覆盖,但这还不够 - 我没有得到当前编辑的对象(甚至没有得到它的 ID)

最佳答案

找到解决方案:

class MyAdminModelForm(ModelForm):
class Meta(object):
model = MyModel

def __init__(self, *args, **kwargs):
super(MyAdminModelForm, self).__init__(*args, **kwargs)

if not self.instance.pk:
return # don't fetch related choices for new objects

current_event = self.instance.event
self.fields['route'] = ChoiceField(choices=OtherModel.objects.filter(event=current_event).values_list('id', 'title'))


@admin.register(MyModel)
class MyModelAdmin(ModelAdmin):
form = MyAdminModelForm

关于python - Django 管理表单字段 - 在选择框中显示对象相关的查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27160059/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com