Thursday, August 8, 2013

Re: Access A Specific Item In DB in my for statement

Thanks for the answer. The userdefinedid is the id of a userdefinedfield. I want to access the field named altname which has a userdefinedid of 49. I want to loop through my properties in my template and then access the altname like any other property field. 

{% for property in properties }%
   {{ property.altname }}
{% endfor %}

So the SQL would look like this.

SELECT * FROM propuserdefinedvalues WHERE propid = propid and userdefinedid = 49
What is the method to do that?

On Thursday, August 8, 2013 4:57:14 AM UTC-6, Christian Erhardt wrote:
So each Propuserdefined can have one value in Propuserdefinedvalues? And you want the value from Popuserdefinedvalues where userid == 49 or realy userdefinedid == 49?

I'd try to create a Foreignkey in the model Propuserdefinedvalues to Propuserdefined and one from Popuserdefinedvalues to Property. Then you you should be able to do something like Propuserdefinedvalues.objects.filter(propuserdefined__userdefinedid=49, property=MYPROPERTYOBJECT)

I'm not sure if a Foreignkey definition in the model needs something special form the database, which you can't provide cause it's readonly. But I'd give it a try.

Am Mittwoch, 7. August 2013 19:11:36 UTC+2 schrieb Brandon Reynolds:

I have a somewhat odd scenario. I am using a read only database that i have access through my property management software. They allow the user to define fields in there software. However they dont show up as specific fields in the database. The database has 2 tables related to them "propuserdefined" and "propuserdefinedvalues". The "propuserdefined" contains all the info about the field(id, name, description) the "propuserdiefinedvalues" contains the values associated with the property. It has propid, userdefinedid, and value. My question is this, I need to access the value of "propuserdefinedvalues" where propid equals the propid in my for property in properties statement and the "userdefinedid" equals 49. How would i do this? Is it with a template tag?

Thanks in advance for your help. 

Brandon

Here are my models.

class Propuserdefined(models.Model):      userdefinedid = models.IntegerField(primary_key=True)      name = models.CharField(max_length=50L, blank=True)      type = models.IntegerField()      userid = models.IntegerField(null=True, blank=True)      updated = models.DateTimeField(null=True, blank=True)      datecreated = models.DateTimeField(null=True, blank=True)      combolist = models.TextField(blank=True)      class Meta:          db_table = 'propuserdefined'    class Propuserdefinedvalues(models.Model):      userdefinedid = models.IntegerField()      propid = models.IntegerField()      value = models.TextField(blank=True)      userid = models.IntegerField(null=True, blank=True)      updated = models.DateTimeField(null=True, blank=True)      datecreated = models.DateTimeField(null=True, blank=True)      class Meta:          db_table = 'propuserdefinedvalues'    class Property(models.Model):      propid = models.IntegerField(primary_key=True)      name = models.CharField(max_length=35L, blank=True)      shortname = models.CharField(max_length=6L, blank=True)      street1 = models.CharField(max_length=50L, blank=True)      street2 = models.CharField(max_length=50L, blank=True)      city = models.CharField(max_length=50L, blank=True)      state = models.CharField(max_length=2L, blank=True)      zip = models.CharField(max_length=50L, blank=True)      phone = models.CharField(max_length=21L, blank=True)      fax = models.CharField(max_length=50L, blank=True)      email = models.CharField(max_length=255L, blank=True)      manager = models.CharField(max_length=25L, blank=True)      billname1 = models.CharField(max_length=35L, blank=True)      billname2 = models.CharField(max_length=35L, blank=True)      billstreet1 = models.CharField(max_length=50L, blank=True)      billstreet2 = models.CharField(max_length=50L, blank=True)      billcity = models.CharField(max_length=50L, blank=True)      billstate = models.CharField(max_length=2L, blank=True)      billzip = models.CharField(max_length=50L, blank=True)      proptaxid = models.CharField(max_length=35L, blank=True)      rentchargetype = models.CharField(max_length=20L, blank=True)      lastpostdate = models.DateField(null=True, blank=True)      lastweeklypostdate = models.DateField(null=True, blank=True)      comments = models.CharField(max_length=25L, blank=True)      enablespeciallatecharge = models.IntegerField(null=True, blank=True)      fixedlatecharge = models.IntegerField(null=True, blank=True)      fixedlateamount = models.FloatField(null=True, blank=True)      fixedlaterentonly = models.IntegerField(null=True, blank=True)      percentlate = models.IntegerField(null=True, blank=True)      percentlateamount = models.FloatField(null=True, blank=True)      percentlatefullcharge = models.IntegerField(null=True, blank=True)      percentlaterentonly = models.IntegerField(null=True, blank=True)      perdaylate = models.IntegerField(null=True, blank=True)      perdaylateamount = models.FloatField(null=True, blank=True)      perdaylategrace = models.IntegerField(null=True, blank=True)      perdaylategracenum = models.IntegerField(null=True, blank=True)      perdatelatelimitamount = models.FloatField()      perdaylategracenonretro = models.IntegerField()      perdaylategraceexclweekends = models.IntegerField()      perdaylategraceexclholidays = models.IntegerField()      datecreated = models.DateTimeField(null=True, blank=True)      updated = models.DateTimeField(null=True, blank=True)      userid = models.IntegerField(null=True, blank=True)      logofile = models.CharField(max_length=255L, blank=True)      merchantid = models.CharField(max_length=255L, blank=True)      epaybankid = models.IntegerField()      epaylimit = models.FloatField()      epayenabled = models.IntegerField()      achconveniencefeeenabled = models.IntegerField()      ccconveniencefeeenabled = models.IntegerField()      rwaachconvenciencefeeenabled = models.IntegerField()      rwaccconveniencefeeenabled = models.IntegerField()      epayislimited = models.IntegerField()      epayusedefaults = models.IntegerField()      achconveniencefee = models.FloatField(null=True, blank=True)      ccconveniencefee = models.FloatField(null=True, blank=True)      rwaachconveniencefee = models.FloatField(null=True, blank=True)      rwaccconveniencefee = models.FloatField(null=True, blank=True)      epaychargetype = models.IntegerField()      epayamounttype = models.IntegerField()      epaysetamount = models.FloatField()      epaycustlimit = models.FloatField()      sqft = models.IntegerField()      lateminbalance = models.FloatField(null=True, blank=True)      defaultbank = models.IntegerField()      postday = models.IntegerField(null=True, blank=True)      active = models.IntegerField(null=True, blank=True)      iscommercial = models.IntegerField(null=True, blank=True)      assignedissueuserid = models.IntegerField(null=True, blank=True)      altname = Propuserdefinedvalues.objects.filter(userdefinedid=49)      class Meta:          db_table = 'property'

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment