开发者

Foriegnkey issue while submitting the form

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

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜