Python 将外键字段从选择框更改为自定义表单中的原始\u id\u字段
我没有和管理员一起工作 有没有什么方法可以让外键字段代替下拉选择框,一个动态搜索框(对用户有建议),就像我们在admin.py中有原始的id字段一样 models.pyPython 将外键字段从选择框更改为自定义表单中的原始\u id\u字段,python,django,forms,foreign-keys,Python,Django,Forms,Foreign Keys,我没有和管理员一起工作 有没有什么方法可以让外键字段代替下拉选择框,一个动态搜索框(对用户有建议),就像我们在admin.py中有原始的id字段一样 models.py class model2(models.Model) reg = models.ForeignKey(model1, db_column='reg') class Meta: db_table = u'table2' forms.py class model2Form(ModelFOrm)
class model2(models.Model)
reg = models.ForeignKey(model1, db_column='reg')
class Meta:
db_table = u'table2'
forms.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')
views.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))
您可以轻松拥有。您可以轻松拥有。对于django autocomplete灯光,有很多和。还有更多的,都在后面。也有人捐款。但你可能已经找到了所有这些,因为你问:)我今天会上传一个新的视频,我会让你知道,当它在线时,它可能会有所帮助。有很多和django自动完成光。还有更多的,都在后面。也有人捐款。但你可能已经找到了所有这些,因为你问:)我今天会上传一个新的视频,我会让你知道,当它在线时,它可能会有所帮助。