0
models.py與外鍵unique_together Django的提高驗證錯誤
class Follow(models.Model):
date_time = models.DateTimeField(auto_now_add=True, blank=True, unique=False)
user = models.ForeignKey(User)
follower = models.ForeignKey(User, related_name="followers", unique=False)
def __unicode__(self):
return '%s, %s' % (self.user.username, self.follower)
class Meta:
unique_together = [("user", "follower")]
view.py
def new_follow(request):
if request.method == 'POST':
form = FollowForm(request.POST)
if form.is_valid():
instance = form.save(commit=False)
if not hasattr(instance, 'user'):
instance.user = request.user
instance.save()
form.save_m2m()
return HttpResponseRedirect('/followers/' + request.user.username)
else:
new_follow()
else:
form = FollowForm()
args = {}
args.update(csrf(request))
args['form'] = form
variables = RequestContext(request, {'form': form})
return render_to_response('new_follow.html', variables)
forms.py
class FollowForm(forms.ModelForm):
class Meta:
model = Follow
exclude = ['user']
我得到這個錯誤已經存在於數據庫中我該如何解決這個問題?另一方面,在管理面板中正確提出錯誤。
IntegrityError at /follow/
columns user_id, follower_id are not unique
Request Method: POST
Django Version: 1.6
Exception Type: IntegrityError
Exception Value:
columns user_id, follower_id are not unique
沒關係,當你發現這個錯誤時,你應該告訴用戶他已經跟隨某人,所以不能做這個動作。 – iMom0
你能幫我怎麼做。對不起,我是django的新成員,實際上這是我的問題。如何提高驗證錯誤 – kostas1987