2014-04-30 205 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