2016-04-25 12 views
0

我是Django的新手,並且卡住了。下面我有一個模型樣品 -Django - 從數據庫中的表單下拉列表添加新後不立即更新

class Machines(models.Model): 
    machine_name = models.CharField(max_length=50,null=True, unique=True) 

和相關表格 -

class NewMachine(forms.Form): 
    machine_name = forms.CharField(label="Machine Name",required=True) 

現在我在一個下拉的另一種形式使用該模型值(機器名)與 -

all_machines = [i['machine_name'] for i in Machines.objects.values('machine_name').distinct()] 
machine_choices = [(i,i) for i in get_uniq_obj(all_machines)] 
machine_name = forms.MultipleChoiceField(required=False, 
        choices=machine_choices,label="") 

get_uniq_obj只是一個功能,進一步刪除重複。 問題是我沒有立即在表單下拉列表中看到新添加的機器名稱(來自Machines表格),或者直到我重新啓動服務器。

我試圖把all_machines塊放在不同的位置,但是STDOUT不會再次進入這個代碼路徑,因爲它會從數據庫加載下拉的新值。

欣賞幫助。

回答

1

你不應該那樣做。使用ModelMultipleChoiceField和queryset參數。

+0

謝謝!使用queryset來獲取我需要的數據! – rohitkulky

+0

我收到「XXXX不是主鍵的有效值」錯誤,表單中的下拉列表有任何想法,爲什麼? – rohitkulky

相關問題