我在WorkingHours
我定义了2个表Employee
和Employee
workingHours = models.ManyToManyField(WorkingHours)
。
我的Employee
和WorkingHours
拥有User
的外键。
现在我有一些表格可以添加一个WorkingHour(在某个用户下),我希望添加一个用户可以在他的Employees
之间多次选择的现有表单。
所以我有现有的表单,用户可以添加WorkingHours
,现在我想添加一个他可以在Employees
之间选择的选项。
现在实现只为一些用户添加WorkingHours,我想添加一个选项来在他的员工之间进行选择,我不知道如何做到这一点。
因此,为了更好地理解,我有用户,WorkingHours
并且我想添加该用户可以选择Employee
“在此WorkingHours
上工作”。如果取消选中所有字段,我想应用Employees
WorkingHour
我希望它不会太复杂,如果是,我会尝试在评论中解释更多。
我正在研究现有项目,所以我不想改变很多代码。
感谢名单
答案 0 :(得分: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