gpt4 book ai didi

python - 在我的自定义表单中将外键字段从选择框更改为 raw_id_fields

转载 作者:太空宇宙 更新时间:2023-11-03 19:11:01 26 4
gpt4 key购买 nike

我不使用 admin.py有什么方法可以让我拥有外键字段而不是下拉选择框、动态搜索框(对用户有建议),就像我们在 admin.py 中的 raw_id_fields 一样。

模型.py

class model2(models.Model)
reg = models.ForeignKey(model1, db_column='reg')
class Meta:
db_table = u'table2'

表单.py

class model2Form(ModelFOrm)
def __init__(self, *args, **kwargs):
super(model2Form, self).__init__(*args, **kwargs)
instance = getattr(self, 'instance', None)
if instance and instance.id:
self.fields['reg'].required = False
self.fields['reg'].widget.attrs['disabled'] = 'disabled'
def clean_regid(self):
if self.instance and self.instance.pk:
return self.instance.reg
else:
return self.cleaned_data['reg']
class Meta:
model = model2
exclude = ('id')

View .py

def add(request):
if request.method == 'POST': # If the form has been submitted...
form = model2Form(request.POST)
if form.is_valid():
form.save()
return list(request)
else :
raise RuntimeError('Form is invalid')
else :
action = model2().get_add_url()
form = model2Form()
c = {'form': form, 'action' : action}
c.update(csrf(request))
return render_to_response('add.html', c, context_instance=RequestContext(request))

最佳答案

您可以轻松拥有autocomplete .

关于python - 在我的自定义表单中将外键字段从选择框更改为 raw_id_fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12987445/

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