현재 입력 된 도메인을 db에 제출하는 모델 양식이 있습니다.양식 제출시 Django Auth "User"ID를 받으십시오.
내가 겪고있는 문제는 DB 끝에 PK-FK 관계를 충족시키기 위해 도메인을 제출할 때 현재 로그인 한 사용자의 ID (django.auth 테이블의 PK)를 저장해야한다는 것입니다.
내가 현재 가지고 : "열 'FKtoClient_id는'null 일 수 없습니다 (1048 :
class SubmitDomain(ModelForm):
domainNm = forms.CharField(initial=u'Enter your domain', label='')
FKtoClient = User.<something>
class Meta:
model = Tld #Create form based off Model for Tld
fields = ['domainNm']
def clean_domainNm(self):
cleanedDomainName = self.cleaned_data.get('domainNm')
if Tld.objects.filter(domainNm=cleanedDomainName).exists():
errorMsg = u"Sorry that domain is not available."
raise ValidationError(errorMsg)
else:
return cleanedDomainName
및 views.py
def AccountHome(request):
if request.user.is_anonymous():
return HttpResponseRedirect('/Login/')
form = SubmitDomain(request.POST or None) # A form bound to the POST data
if request.method == 'POST': # If the form has been submitted...
if form.is_valid(): # If form input passes initial validation...
domainNmCleaned = form.cleaned_data['domainNm'] ## clean data in dictionary
clientFKId = request.user.id
form.save() #save cleaned data to the db from dictionary`
try:
return HttpResponseRedirect('/Processscan/?domainNm=' + domainNmCleaned)
except:
raise ValidationError(('Invalid request'), code='300') ## [ TODO ]: add a custom error page here.
else:
form = SubmitDomain()
tld_set = request.user.tld_set.all()
return render(request, 'VA/account/accounthome.html', {
'tld_set':tld_set, 'form' : form
})
을 문제는이 나에게의 오류를 준다 ") 매우 이상한 일이 열 FKtoClient
에 대해 제출하려고 시도 : 7
(이 사용자 기록의 PK) 대신 7L
을 제출하려고합니다. 어떤 아이디어? 누군가가 도와주세요 수 있다면
, 정말 감사하겠습니다 그것을
'7L'에 대해 걱정할 필요가 없습니다. [이 질문에 대한 답변] (http://stackoverflow.com/questions/11764713/why-do-integers-in-database-row-tuple-have-an-l- 접미사). – Alasdair