我为每个用户创建了一个与另一个Team模型具有多对多关系的UserProfile模型,用于存储每个成员所属的团队列表。
class Team(models.Model):
team_name = models.CharField(max_length=200)
organization_name = models.CharField(max_length=200)
def __unicode__(self):
return self.organization_name
class UserProfile(models.Model):
user = models.OneToOneField(User, unique=True, related_name='profile')
team = models.ManyToManyField(Team)我想创建一个表单,其中包括一个团队字段,将允许用户从一个列表中选择团队,被过滤,只允许该用户选择他们所属的团队通过关系。
我对如何处理这个问题感到困惑,但我假设它是某种过滤的查询集?
发布于 2015-08-16 11:00:20
首先你需要一个非常直接的模型表单,然后你只需要在视图中查询你需要的模型,并通过instance=query在表单中创建该模型的实例,或者你可以这样做,但它有点困难,但更具体,可以完成更具体的操作,所以我只需要链接它,How To Exclude A Value In A ModelMultipleChoiceField?。
forms.py
class GetTeamForm(forms.ModelForm):
class Meta:
model = UserProfile
exclude = ('user',)views.py
def GetTeamView(request):
user = request.user #assuming the user is signed in
get_users_teams = UserProfile.objects.filter(user=user)
if request.method == 'POST':
form = Get_Team_Form(request.POST, instance=get_user_teams):
if form.is_valid():
form.save()
else:
print form.errors()
else:
form = GetTeamForm(instance=get_user_teams)
return render(request, 'htmlfile.html', {'form':form},)https://stackoverflow.com/questions/32030785
复制相似问题