2012-10-17 90 views
0

我的is_valid()函數拋出數據庫錯誤。我正在使用別名數據庫(不是默認的數據庫),因此無法驗證我的表單。我的應用程序表在database2中。 代碼:django is_valid()拋出數據庫錯誤

settings.py

DATABASES = { 
     default:{ 
       database1 
     } 
     'database2':{ 
        database2 
     } 
} 

models.py

class Application(models.Model) 
      application_name = models.CharField(max_length=48,primary_key=True) 
      application_version = models.DecimalField(max_digits=3,decimal_places=0,blank=False,null=False) 

forms.py

class Application_form(forms.ModelForm): 
    def __init__(self,*args, **kwargs): 

     super(Application_form,self).__init__(*args, **kwargs) 

class Meta: 
    model = Application 

views.py

Application_Form=Application_form(request.POST)  
     if Application_Form.is_valid(): 
      print "true" 
     else: 
      print "false" 
+1

什麼是數據庫錯誤? – inoks

+0

它正在驗證唯一性的同時查看默認數據庫,因此它找不到應用程序表。 – arjun

回答

1
class Application_form(forms.ModelForm): 
    def __init__(self,*args, **kwargs): 

     super(Application_form,self).__init__(*args, **kwargs) 
     self.queryset = Application.objects.using('database2') 

    class Meta: 
     model = Application 

Link to documentation

+0

Thnx Samuele Mattiuzzo。我嘗試了你發送的代碼。它拋出這個錯誤'Application_form'對象沒有'使用' – arjun

+0

'使用'的屬性用於查詢集而不是表單。 – Rohan

+0

對不起,我的頭腦比我的手指慢。修復了我正在使用的測試生產代碼的答案。再次抱歉! – Thomas