自定义Django形式中choicefield下拉菜单选取数据库内容实例

  

工作中遇到的问题,自定义了一个形式。形式表单,某项需要作出下拉菜单,下拉菜单中的选项需要从数据库(objectForm模型)中提取。

  

<强> form.py为:

  
  

类objectForm (forms.Form):
  pre=choicefield(标签="工作”)

     

最后的解决办法:

  

<强> 1。定义一个函数

        def get_object(请求):   r=[(“,“——”)]   在objectModels.objects.all obj ():   r=r + [(obj。id, obj.name)]   返回r      

<强> 2。在views.py的视图函数中加入

  
  

form.fields['前']。选择=get_object(请求)

     

收工!   

百度了很多Django形式的问题都没有得到解决,写出来方便后来的人。

  

<强> django形式表单选择下拉菜单数据源实时更新(每次访问获取一次数据库内容)

  

重点是:表单类对象实例化的时候,在类里边__init() __函数中加入重新更新选择数据源

        django。快捷方式进口呈现,定向   从app3导入模型   从app3导入形式   从django导入形式   django。形式进口部件      #静态字段,value_list获取列表(())加元组返回值         类Fromdb (forms.Form):   目的=forms.CharField ()   用户=forms.IntegerField (   小部件=widgets.Select ()   )   #保证每次访问重新获取最新数据   def __init__(自我,* args, * * kwargs):   超级(Fromdb,自我). __init__ (* args, * * kwargs)   self.fields .widget.choices=models.Stu.objects(“用户”)。values_list (“id”、“名称”)      def formdb(请求):   学生=Fromdb ()   返回渲染(请求、“formdb.html”{“学生”:学生})      

以上这篇自定义Django形式中choicefield下拉菜单选取数据库内容实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

自定义Django形式中choicefield下拉菜单选取数据库内容实例