from django.contrib.auth.models import User
from django.db import models
class Team(models.Model):
team_name = models.CharField(max_length=255, unique=True) ## they can create a new team here
description = models.TextField()
slug = models.SlugField(unique=True)
user = models.OneToOneField(User, blank=True, null=True) ## I connect my User here, so they can "own" this info...
用戶必須創建一個新的團隊(通過「TEAM_NAME」字段)的選項,但我也希望給用戶的選擇加入另一個團隊(由不同的用戶創建),我可以只添加一個新的領域到我的團隊模型?最好在表單上,他們可以看到創建的團隊列表,選中他們想要加入的團隊並保存表格。最簡單的方式爲用戶在Django自己添加到一個「團隊」
我能加入這樣的事情我的Team類:
team = forms.ModelMultipleChoiceField(queryset=Team.objects.all()).filter('team_name')
或也許是這樣的:
TEAM_CHOICES = Team.objects.all()).filter('team_name')
team = forms.CharField(widget=forms.Select(choices=TEAM_CHOICES))
而且,如何將這些數據正確保存?
'OneToOneField'?你的團隊只能有一個用戶? –
@burhan - 是的,這應該可能是一個ManyToMany? –
@MichaelSebastian你需要將OneToOneField設置爲ManyToManyField或者將ForiegnKey設置爲你的用戶的Team。就我個人而言,我每次都會在M2M上採用FK。但是如果你在'User'模型上使用M2M而不是FK,你需要考慮如何存儲創建團隊的用戶。 –