2014-04-30 423 views
0

我有2個表,WorkingHoursEmployee和,在Employee我限定 workingHours = models.ManyToManyField(WorkingHours)。 我的EmployeeWorkingHoursUser的外鍵。Django的多對許多現有形式

現在我有一些添加WorkingHour(在某些用戶下)的表單,我想添加現有表單,用戶可以在他的Employees之間多選。

所以我有現有的表格,該用戶可以添加WorkingHours,現在我想添加一個選項,他可以選擇他的Employees。 現在實現只爲某些用戶添加WorkingHours,我想添加一個選項來選擇他的員工之間,我沒有任何想法如何做到這一點。

因此,爲了更好的理解,我有用戶,誰有WorkingHours,我想補充說,用戶可以選擇哪個Employee「工作」在這個WorkingHours。如果所有的字段都是未經檢查的,我想申請所有EmployeesWorkingHour

我希望它不太複雜,如果是我會盡量在評論中解釋更多。

我正在研究現有項目,所以我不想更改很多代碼。

Thanx

+0

對不起,我在這裏看不到具體問題。也許你可以解釋到底是什麼問題/查詢? – SColvin

+0

我編輯了這篇文章,你能再讀一遍嗎? :)我希望你現在看到問題。 – juree

回答

0

我想我明白了基本問題。您需要一個多選字段,填寫與該用戶關聯的員工。

查看here的一些細節/例子。

基本上你想要這樣的東西,這個例子並沒有做任何事情,但我希望這是一個開始。

class SimpleForm(forms.Form): 
    employees = forms.MultipleChoiceField(required = False, widget=forms.SelectMultiple) 

def __init__(self, *args, **kw) 
    user = kw.pop('user') # you need to pass user to into this function as a kw argument 
    super(SimpleForm, self).__init__(*args, **kw) 
    # this asssumes the user as a field (or related field reference) to employees 
    # either way somehow you need to execute a query which gets the users employees. 
    self.fields['employees'].choices = user.employees.all() 

def save(self, *args): 
    # if employees is empty set them all to selected 
+0

我會嘗試,讓你知道:) – juree