开发者

Foriegnkey issue while submitting the form

开发者 https://www.devze.com 2023-02-09 04:11 出处:网络
This post extends the error while submitting data in the form django model.py from django.db import models

This post extends the error while submitting data in the form django

model.py

from django.db import models

# Create your models here.

class Profile(models.Model):
     name = models.CharField(max_length=50, primary_key=True)
     assign = models.CharField(max_length=50)
     doj = models.DateField()

     class Meta:
        db_table= 'profile'


     def __unicode__(self):

       return  u'%s' % (self.name)



class working(models.Model):
   w_name =models.ForeignKey(Profile, db_column='w_name')
   monday =  models.IntegerField(null=True, db_column='monday', blank=True)
   tuesday =  models.IntegerField(null=True, db_column='tuesday', blank=True)
   wednesday =  models.IntegerField开发者_运维技巧(null=True, db_column='wednesday', blank=True)

   class Meta:
        db_table = 'working'



   def __unicode__(self):
      return  u'%s ' % ( self.w_name)


view.py

# Create your views here.
from forms import *
from django import http
from django.shortcuts import render_to_response, get_object_or_404


def index(request):
   obj=working()
   obj.w_name='X'
   obj.Monday=1
   obj.Tuesday=2
   obj.Wednesday =3
   obj.save()
   return http.HttpResponse('Added')

Here i want to insert the data directly into table ,if person click on http://127.0.0.1:8000/

But it throws below error any thoughts ??

Exception Type: ValueError at / Exception Value: Cannot assign "u'x'": "working.w_name" must be a "Profile" instance.


I thought you were saying you wanted to inject values into a form?

In this case, it's clear (see it's better than comments), you need to pass in a Profile instance to your working object just as we did in the form clean method in your other post.

def index(request):
   try: 
       profile = Profile.objects.get(pk='X')
   except Profile.DoesNotExist:
       assert False # or whatever you wish
   obj=working()
   obj.w_name= profile
   obj.Monday=1
   obj.Tuesday=2
   obj.Wednesday =3
   obj.save()
   return http.HttpResponse('Added')
0

精彩评论

暂无评论...
验证码 换一张
取 消