2015-08-16 40 views
0

我有一個UserProfile模型,每個用戶與另一個Team模型存在多對多關係,以存儲每個成員所屬的團隊列表。Django Choice字段查詢集與用戶列表的相關對象

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) 

我想創建一個表格,其中包括一隊後場,將允許用戶從被過濾,只允許用戶挑選他們的關係屬於團隊列表團隊選擇。

我很困惑,如何處理這個,但我假定這將是某種過濾的queryset的?

+1

爲什麼你會想這樣好像還沒有用的,你是不是加入了球隊,因爲你只是想以一種形式得到他們已經屬於的球隊,那麼你將如何處理這種形式的球隊。 – 2015-08-16 02:43:55

+0

我的意思是,這是很容易做到的只是你爲什麼要做到這一點給我解釋。 – 2015-08-16 02:44:54

+0

這是教練加球員的形式,但因此他們需要添加球員,當 –

回答

0

首先,你需要一個模型的形式,這是非常簡單的,那麼你只需要查詢您在您的視圖所需要的模型,並通過實例=查詢表單創建和該實例,或者你可以做到這的方式,但它有點困難,但更具體的,可以完成更多的操作,所以我只是鏈接它,How To Exclude A Value In A ModelMultipleChoiceField?

forms.py

class Get_Team_Form(forms.ModelForm): 
    class Meta: 
     model = UserProfile 
     exclude = ('user',) 

views.py

def Get_Team_View(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 = Get_Team_Form(instance=get_user_teams) 
    return render(request, 'htmlfile.html', {'form':form},) 
+0

我不知道我能夠使用這種方法,因爲新創建的用戶分配到正確的球隊教練可以執教多支球隊我的形式是不是因爲的ModelForm我需要能夠與形式的多個模型的工作(創建一個新用戶,並操縱用戶USERPROFILE設置團隊)。該表單也被輸入到一個表單中,以便可以添加多個玩家 –

相關問題