Get Foreign Key Value

拟墨画扇 提交于 2019-11-29 22:59:21

问题


How can I get the foreign key values? I have a common vehicle model that links to the year, series, engine type, body style, transmission and drive train...all as foreign keys. I'd like to get the values of these fields for my app, but I'm stuck as to how I'd go about them. Any ideas will be highly appreciated.

class Model(models.Model):

  model = models.CharField(max_length=15, blank=False)
  manufacturer = models.ForeignKey(Manufacturer)
  date_added = models.DateField()
  def __unicode__(self):
      name = ''+str(self.manufacturer)+" "+str(self.model)
      return name 


class Year(models.Model):

  ALPHA_NUMERIC_CHOICES = (
      ('1', 'Numeric'),
      ('A', 'Alphabetic'),
  )

  year = models.PositiveSmallIntegerField()
  position_7_char = models.CharField(max_length=1, choices=ALPHA_NUMERIC_CHOICES)
  position_10 = models.CharField(max_length=1, blank=False)

  def __unicode__(self):
      return unicode(self.year)


class Series(models.Model):

  series = models.CharField(max_length=20, blank=True)
  model = models.ForeignKey(Model)
  date_added = models.DateField()

  def __unicode__(self):
      name = str(self.model)+" "+str(self.series)
      return name


class CommonVehicle(models.Model):

  year = models.ForeignKey(Year)
  series = models.ForeignKey(Series)
  engine = models.ForeignKey(Engine)
  body_style = models.ForeignKey(BodyStyle)
  transmission = models.ForeignKey(Transmission)
  drive_train = models.ForeignKey(DriveTrain)

  def __unicode__(self):
      name = ''+str(self.year)+" "+str(self.series)
      return name


class Vehicle(models.Model):

  stock_number = models.CharField(max_length=6, blank=False)
  vin = models.CharField(max_length=17, blank=False)
  common_vehicle = models.ForeignKey(CommonVehicle)
  exterior_colour = models.ForeignKey(ExteriorColour)
  interior_colour = models.ForeignKey(InteriorColour)
  interior_type = models.ForeignKey(InteriorType)
  odometer_unit = models.ForeignKey(OdometerUnit)
  status = models.ForeignKey(Status)
  odometer_reading = models.PositiveIntegerField()
  selling_price = models.PositiveIntegerField()
  purchase_date = models.DateField()
  sales_description = models.CharField(max_length=60, blank=False)

  def __unicode__(self):
      return self.stock_numberodels.ForeignKey(CommonVehicle)

回答1:


You need the actual IDs? Try something like my_vehicle_ref.series.id.

Also, I hope you know that the series attribute right there is really an instance of Series, so you could access any of it's properties, e.g., my_vehicle_ref.series.model.model.



来源:https://stackoverflow.com/questions/1362426/get-foreign-key-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!