Re: accessing foreign key value in views.py

2017-05-18 Thread Antonis Christofides
Hi,

We need more information. We need to know which field causes the problem. Maybe
the full error message with full traceback could help.

Regards,

A.

Antonis Christofides
http://djangodeployment.com

On 2017-05-18 12:53, Amisha Hans wrote:
> Hey , 
>
> I am facing a lot of issues regarding this foreign key !.
>
> Scenario is a s follows :-
>
> models.py
>
> class ComponentDeprecation(models.Model):
> row_id = models.IntegerField(primary_key=True)
> component = models.ForeignKey('SsComponents', db_column='component')
> submitter = models.CharField(max_length=12)
> description = models.CharField(max_length=4000)
> deprecation_date = models.DateField()
> submitted_date = models.DateTimeField()
> deprecated_by = models.CharField(max_length=12, blank=True, null=True)
> deprecated_date = models.DateTimeField(blank=True, null=True)
>
> class Meta:
> managed = False
> db_table = 'component_deprecation'
>
>
> class SsComponents(models.Model):
> component = models.CharField(primary_key=True, max_length=40)
> ddts_class = models.CharField(max_length=20)
> vob = models.CharField(max_length=20)
> vob_rel_path = models.CharField(max_length=30)
> owner = models.CharField(max_length=16, blank=True, null=True)
> comp_main_branch = models.CharField(max_length=60, blank=True, null=True)
> starting_version = models.CharField(max_length=10, blank=True, null=True)
> include_list = models.CharField(max_length=60, blank=True, null=True)
> other_list = models.CharField(max_length=60, blank=True, null=True)
> created_by = models.CharField(max_length=16)
> created_date = models.DateField()
> comp_type = models.CharField(max_length=3, blank=True, null=True)
> lifecycle = models.CharField(max_length=20, blank=True, null=True)
> description = models.CharField(max_length=4000, blank=True, null=True)
> component_approval = models.ForeignKey(ComponentApproval, blank=True,
> null=True)
> component_deprecation = models.ForeignKey(ComponentDeprecation,
> blank=True, null=True)
> migrated = models.NullBooleanField()
> migrated_date = models.DateField(blank=True, null=True)
> last_updatetime = models.DateField(blank=True, null=True)
>
> class Meta:
> managed = False
> db_table = 'ss_components'
>
> views.py 
>
> def lc_depr_detail_form(request):
> '''
> Returns the Fields in the form of List containing Dictionary to be
> rendered to HTML Page for Deprecate Report.
> '''
> user_name = request.META['REMOTE_USER']
> #Fetching the field values from the HTML Page
> component = request.POST.get('comp')
> submitter = request.POST.get('submitter')
> submitted_date = request.POST.get('sub_date')
> deprecated_by = request.POST.get('dep_by')
> deprecated_date = request.POST.get('dep_date')
> stri = ""
> #Putting the field  values in a string variable
> if(component and component!= "None"):
> comp1= component.replace("*", ".*")
> stri=stri+" ,component=r'^%s$'" % (comp1)
> if(submitter and submitter!= "None"):
> submitter1=submitter.replace("*", ".*")
> stri=stri+" ,submitter__regex=r'^%s$'" % (submitter1)
> if(submitted_date and submitted_date!= "None"):
> sub_date1=submitted_date.replace("*", ".*")
> stri=stri+" ,submitted_date__regex=r'^%s$'" % (sub_date1)
> if(deprecated_by and deprecated_by!= "None"):
> dep_by1=deprecated_by.replace("*", ".*")j
> stri=stri+" ,deprecated_by__regex=r'^%s$'" % (dep_by1)
> if(deprecated_date and deprecated_date!= "None"):
> dep_date1=deprecated_date.replace("*", ".*")
> stri=stri+" ,deprecated_date__regex=r'^%s$'" % (dep_date1)
> #Substituting the first comma with a space
> data= re.sub(r',',"",stri,1)
> #Checking when no data is Entered in the Form
> if (data == ''):
> return render(request,
> 'lc_depr.html',{'user':user_name,'message':'Please provide atleast one
> Input','page':r'help/home.html'})
>
> details="ComponentDeprecation.objects.filter(%s).order_by('-deprecated_date').values('component','deprecated_by','deprecated_date')"
> % (data)
> print details
> #Evaluates the details as a Python Expression
> details_list = eval(details)
> print details_list
> #Checking if the list is empty due to Wrong data Input by the User
> if not details_list:
> return render(request,
> 'lc_depr_report.html',{'user':user_name,'message':'Oops! Couldnot figure out
> what you were searching for.Please recheck the inputs provided for the
> query','page':r'help/home.html'})
> else:
> return render(request,
> 'lc_depr_report.html',{'user':user_name,'details_list':details_list,'page':r'help/home.html'})
>  
>
>
> i am getting this error: related fi

accessing foreign key value in views.py

2017-05-18 Thread Amisha Hans
Hey , 

I am facing a lot of issues regarding this foreign key !.

Scenario is a s follows :-

models.py

class ComponentDeprecation(models.Model):
row_id = models.IntegerField(primary_key=True)
component = models.ForeignKey('SsComponents', db_column='component')
submitter = models.CharField(max_length=12)
description = models.CharField(max_length=4000)
deprecation_date = models.DateField()
submitted_date = models.DateTimeField()
deprecated_by = models.CharField(max_length=12, blank=True, null=True)
deprecated_date = models.DateTimeField(blank=True, null=True)

class Meta:
managed = False
db_table = 'component_deprecation'


class SsComponents(models.Model):
component = models.CharField(primary_key=True, max_length=40)
ddts_class = models.CharField(max_length=20)
vob = models.CharField(max_length=20)
vob_rel_path = models.CharField(max_length=30)
owner = models.CharField(max_length=16, blank=True, null=True)
comp_main_branch = models.CharField(max_length=60, blank=True, 
null=True)
starting_version = models.CharField(max_length=10, blank=True, 
null=True)
include_list = models.CharField(max_length=60, blank=True, null=True)
other_list = models.CharField(max_length=60, blank=True, null=True)
created_by = models.CharField(max_length=16)
created_date = models.DateField()
comp_type = models.CharField(max_length=3, blank=True, null=True)
lifecycle = models.CharField(max_length=20, blank=True, null=True)
description = models.CharField(max_length=4000, blank=True, null=True)
component_approval = models.ForeignKey(ComponentApproval, blank=True, 
null=True)
component_deprecation = models.ForeignKey(ComponentDeprecation, 
blank=True, null=True)
migrated = models.NullBooleanField()
migrated_date = models.DateField(blank=True, null=True)
last_updatetime = models.DateField(blank=True, null=True)

class Meta:
managed = False
db_table = 'ss_components'

views.py 

def lc_depr_detail_form(request):
'''
Returns the Fields in the form of List containing Dictionary to be 
rendered to HTML Page for Deprecate Report.
'''
user_name = request.META['REMOTE_USER']
#Fetching the field values from the HTML Page
component = request.POST.get('comp')
submitter = request.POST.get('submitter')
submitted_date = request.POST.get('sub_date')
deprecated_by = request.POST.get('dep_by')
deprecated_date = request.POST.get('dep_date')
stri = ""
#Putting the field  values in a string variable
if(component and component!= "None"):
comp1= component.replace("*", ".*")
stri=stri+" ,component=r'^%s$'" % (comp1)
if(submitter and submitter!= "None"):
submitter1=submitter.replace("*", ".*")
stri=stri+" ,submitter__regex=r'^%s$'" % (submitter1)
if(submitted_date and submitted_date!= "None"):
sub_date1=submitted_date.replace("*", ".*")
stri=stri+" ,submitted_date__regex=r'^%s$'" % (sub_date1)
if(deprecated_by and deprecated_by!= "None"):
dep_by1=deprecated_by.replace("*", ".*")j
stri=stri+" ,deprecated_by__regex=r'^%s$'" % (dep_by1)
if(deprecated_date and deprecated_date!= "None"):
dep_date1=deprecated_date.replace("*", ".*")
stri=stri+" ,deprecated_date__regex=r'^%s$'" % (dep_date1)
#Substituting the first comma with a space
data= re.sub(r',',"",stri,1)
#Checking when no data is Entered in the Form
if (data == ''):
return render(request, 
'lc_depr.html',{'user':user_name,'message':'Please provide atleast one 
Input','page':r'help/home.html'})

details="ComponentDeprecation.objects.filter(%s).order_by('-deprecated_date').values('component','deprecated_by','deprecated_date')"
 
% (data)
print details
#Evaluates the details as a Python Expression
details_list = eval(details)
print details_list
#Checking if the list is empty due to Wrong data Input by the User
if not details_list:
return render(request, 
'lc_depr_report.html',{'user':user_name,'message':'Oops! Couldnot figure 
out what you were searching for.Please recheck the inputs provided for the 
query','page':r'help/home.html'})
else:
return render(request, 
'lc_depr_report.html',{'user':user_name,'details_list':details_list,'page':r'help/home.html'})

 

i am getting this error: related field got invalid lookup: regex component 
only 
i dont know how to access the value of component .. for other fields no 
error is comming .




-- 
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 django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.c