Hi,

I am trying to save the model form and getting error that foreign key 
column is not there. 

*Error:*
column "connection_type_id" of relation "connection_details_test" does not 
exist ( There is no column connection_type_id, why its looking for this 
column, should I change my model?)

*Models:*
*======*

class ConnectionTypes(models.Model):
     * connection_type_id *= 
*models.IntegerField(primary_key=True,default=re_sequence('connection_type_seq'))*
      connection_type_name = models.CharField(max_length=100)
      connection_type_desc = models.CharField(max_length=300)
      connection_type_category = models.CharField(max_length=100)
      last_update_date = models.DateTimeField(default=dbcurr_ts)

      class Meta: 
            managed = False
            db_table ='connection_types_test'
            verbose_name = 'connection_types_test'
            verbose_name_plural = 'connection_types_test'

      def __str__(self):
        return str(self.connection_type_id)
    


class ConnectionDetails(models.Model):
      connection_id = 
models.IntegerField(primary_key=True,default=re_sequence('connection_seq'))
      connection_name = models.CharField(max_length=200)
      
*connection_type = models.ForeignKey(ConnectionTypes, on_delete=models.CASCADE)*
      endpoint = models.CharField(max_length=100)
      port = models.IntegerField()
      login_id = models.CharField(max_length=100)
      login_password = fields.CharPGPPublicKeyField(max_length=100)
      connection_string_1 = fields.CharPGPPublicKeyField(max_length=100)
      connection_string_2 = fields.CharPGPPublicKeyField(max_length=100)
      connection_string_3 = fields.CharPGPPublicKeyField(max_length=100)
      aws_region = models.CharField(max_length=20)
      owner_id = models.IntegerField()
      last_update_date = models.DateTimeField(default=dbcurr_ts)
      working_schema = models.CharField(max_length=100)
      service = models.CharField(max_length=100)

      def generate_enc(mystrenc):
          return 'pass'

      class Meta:
            managed = False
            db_table = 'connection_details_test'
            verbose_name = 'connection_details_test'
            verbose_name_plural = 'connection_details_test'

*Model Form :*
*==========*

class ConnectionForm(forms.ModelForm):

    login_password = forms.CharField(widget=forms.PasswordInput())
    owner_id = forms.IntegerField(widget=forms.HiddenInput(), required=False)
    
    class Meta:
        model = ConnectionDetails
        exclude = ['connection_id','last_update_date']


*View.py*
*======*
def addconnection(request):
    connectionform = ConnectionForm(request.POST or None)
    if connectionform.is_valid():
        ownerqs = AuthUser.objects.values('id').get(username = 
request.user.username)
        connectionform.cleaned_data['owner_id'] = int(ownerqs['id'])
        connectionform.save()
        messages.success(request, f"sucess!")
    else:
        messages.success(request, f"Failure!")
    return render(request,'main/ssaddconnection.html',{"cform":
    
connectionform,"CanUseMod":UserModules.objects.filter(user_id=request.user.id).filter(module_id=1).count(),"UserIsAuth":request.user.is_authenticated})
    
Anyone can help me on this??

Thanks,
Aruna 
On Saturday, 23 October 2021 at 18:53:38 UTC+1 [email protected] wrote:

> cool! mention not :)
>
> On Thu, 21 Oct 2021 at 19:57, Aruna Priya Nagarajan <
> [email protected]> wrote:
>
>>
>> yeah, it is a foreign key and I have put integer field instead of foreign 
>> key in the model. I changed it now and its working by itself without 
>> specifying ModelChoiceField. 
>>
>> Thanks for your help!! 
>>
>>
>> On Wednesday, 20 October 2021 at 16:07:04 UTC+1 [email protected] 
>> wrote:
>>
>>> is `ConnectionTypes` a foreign key to `ConnectionDetails`?
>>> in that case you don't need to put it as a field in form, it will be 
>>> added automatically in the form. 
>>> On Wednesday, 20 October 2021 at 18:47:44 UTC+5:30 Aruna Priya wrote:
>>>
>>>> Hi,
>>>>
>>>> I am trying to create a form from model and the model has a foreign key 
>>>> and am not able to populate the values from the column it refers to.
>>>>
>>>> My form,
>>>>
>>>> class ConnectionForm(forms.ModelForm):
>>>>
>>>>  connection_type = 
>>>> forms.ModelChoiceField(queryset=ConnectionTypes.objects.all(), 
>>>> to_field_name='connection_type_id')
>>>>
>>>>     class Meta:
>>>>         model = ConnectionDetails
>>>>         exclude = ['connection_id','last_update_date']
>>>>
>>>>
>>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/django-users/ddb8c862-57fc-4bb0-97a0-f5c235b00a1fn%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/django-users/ddb8c862-57fc-4bb0-97a0-f5c235b00a1fn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/3000878a-cc44-4fd9-9c2b-2f72ce85d664n%40googlegroups.com.

Reply via email to