в моей модели ПОЛЬЗОВАТЕЛЬ создаст объект startup_name, однако я хочу выполнить проверку, когда пользователь снова нажимает кнопку, чтобы он создал объект, чтобы он был перенаправлен на другую страницу.
class Startup ( models.Model ) :
author = models.OneToOneField ( User , on_delete = models.CASCADE )
startup_name = models.CharField ( 'Startup Name' , max_length = 32 , null = False , blank = False )
class startupform(forms.ModelForm):
class Meta:
model = Startup
fields = ('startup_name',)
widgets = {
'startup_name': forms.TextInput(attrs = {'class':'form-control'}),
}
def clean(self):
super ( ).clean ( )
startup_name = self.cleaned_data.get ( 'startup_name' )
startup_qs = Startup.objects.filter ( startup_name = startup_name )
if startup_qs.exists ( ):
raise forms.ValidationError ( 'This Startup Already Exist!' )
@login_required
def create_startupform(request) :
q = Startup.objects.all()
if q.exists():
return redirect ( 'str_detailedview' )
else:
form = startupform ( request.POST or None )
if form.is_valid ( ) :
instance = form.save (commit = False)
instance.author = request.user
instance.save()
return redirect ( 'str_detailedview' )
else:
form = startupform()
return render ( request , 'str_name.html' , { 'form' : form } )