Member1
とMember2
という2つのフィールドがあり、両方とも同じClass
またはtable
に属しているとしましょう。ユーザはModelForm
を介してこれらの2つのフィールドに値を入力します。これらの2つのフィールドが互いに重複していないようにするにはどうすればよいですか。重複したフォームフィールド入力Django
def clean(self):
member1 = User.objects.filter(username__iexact=self.Member1.lower())
member2 = User.objects.filter(username__iexact=self.Member2.lower())
if member2 == member3:
raise ValidationError("Can't have duplicate team members")
しかし、それは動作していない、 任意のアイデア:ここに私の現在の検証コードはありますか?
View.py
if request.method == 'POST':
form = CreateTeamForm(request.POST, request.FILES)
if form.is_valid():
instance = form.save(commit=False)
instance.team_creator = request.user.id
p2=None
p3=None
p4=None
if instance.team_member2:
instance.team_member2 = User.objects.values('id').filter(username=instance.team_member2)[0]['id']
p2 = Profile.objects.get(user_id=instance.team_member2)
p2.team_id = instance.Team_ID
p2.save()
if instance.team_member3:
instance.team_member3 = User.objects.values('id').filter(username=instance.team_member3)[0]['id']
p3 = Profile.objects.get(user_id=instance.team_member3)
p3.team_id = instance.Team_ID
p3.save()
if instance.team_member4:
instance.team_member4 = User.objects.values('id').filter(username=instance.team_member4)[0]['id']
p4 = Profile.objects.get(user_id=instance.team_member4)
p4.team_id = instance.Team_ID
p4.save()
instance.save()
。あなたはどこに入れましたか? – Rohan