/ /外部キーの値を取得する - django、foreign-keys

外部キーの値を取得する - django、外部キー

外部キーの値を取得するにはどうすればよいですか? 私は年、シリーズ、エンジンタイプ、ボディスタイル、トランスミッション、ドライブトレインにリンクする共通の車両モデルを持っています...すべてが外部キーです。私は自分のアプリのためにこれらのフィールドの価値を得たいと思っていますが、どうやって彼らのことを考えていますか。アイデアは高く評価されます。

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の場合は3

実際のIDが必要ですか?のようなものを試す my_vehicle_ref.series.id.

また、あなたが series 本当にインスタンスの属性がある Series、あなたはアクセスすることができます どれか それの特性、例えば、 my_vehicle_ref.series.model.model.